While looking through the documentation for flatten.
pub struct Flatten<I>
where
I: Iterator,
<I as Iterator>::Item: IntoIterator,
I was wondering why this is needed -- the last line. Would the following not be sufficient?
I::Item: IntoIterator,
After all I is constrained to be Iterator on the line before.