pub fn split_when<T>( iter: Box<dyn Iterator<Item = Result<T, Error>>>, pred: fn(&T, &T) -> Result<bool, Error>, maxsplit: i128, ) -> Box<dyn Iterator<Item = Result<Vec<T>, Error>>>where T: 'static,