pub trait TupleIterator<T> { type Output: Iterator; // Required method fn iter(&self) -> Self::Output; }