pub trait Split { type Item; type Iter: ExactSizeIterator; fn split(self) -> (Self::Item, Self::Iter, u32); }