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