なるほど

trait Iterator {
 type Item;
 
 fn collect<B: FromIterator<Self::Item>>(self) -> B
 where
  Self: Sized,
 {
  FromIterator::from_iter(self)
 }
}