Optional<U> flatMap2<T1, U>( Optional<T1> other, Optional<U> Function(T, T1) f, ) => flatMap( (value) => other.flatMap( (value1) => f(value, value1), ), );