pub fn merge_opt_i2<I1, I2, F, O>( I1: Option<I1>, I2: Option<I2>, func: F, ) -> Option<O>where F: Fn(Option<I1>, Option<I2>) -> Option<O>,