pub trait Split3<A, B, C>: Iterator { fn split3(self) -> (Vec<A, Global>, Vec<B, Global>, Vec<C, Global>); }