pub fn failable_map_mut<T, U, E, F, I>( i: I, f: F ) -> Result<Vec<U>, (Vec<U>, Vec<E>)>where F: FnMut(T) -> Result<U, (U, E)>, I: Iterator<Item = T>,