pub trait ForwardIter<T> { type Item: Forward<T, Output = T>; // Required method fn forward_iter(self, args: &T) -> <Self::Item as Forward<T>>::Output; }