pub fn map2<T0: 'static, T1: 'static, J: 'static>(
iter0: Box<dyn Iterator<Item = Result<T0, Error>>>,
iter1: Box<dyn Iterator<Item = Result<T1, Error>>>,
pred: fn(&T0, &T1) -> Result<J, Error>,
) -> Box<dyn Iterator<Item = Result<J, Error>>>