pub trait IteratorExt<R, E>: Iterator<Item = Result<R, E>> {
// Provided methods
fn try_collect_vec(self) -> Result<Vec<R>, E>
where Self: Sized { ... }
fn try_collect_vecdeque(self) -> Result<VecDeque<R>, E>
where Self: Sized { ... }
fn try_collect_set(self) -> Result<HashSet<R>, E>
where Self: Sized,
R: Hash + Eq { ... }
}