pub fn replace<T>( iter: Box<dyn Iterator<Item = Result<T, Error>>>, query: Vec<T>, sub: Vec<T>, ) -> Box<dyn Iterator<Item = Result<T, Error>>>where T: Clone + PartialEq + 'static,