pub trait Split3<A, B, C>: Sized + Iterator { // Required method fn split3(self) -> (Vec<A>, Vec<B>, Vec<C>); }