code: public static <T1, T2, R> Maybe<R> combine(Maybe<? extends T1> maybe, Maybe<? extends T2> app,
              BiFunction<? super T1, ? super T2, ? extends R> fn) {
          return narrow(Single.fromPublisher(Future.fromPublisher(maybe.toFlowable())
                                  .zip(Future.fromPublisher(app.toFlowable()), fn)).toMaybe());
      }
docs: Lazily combine this Maybe with the supplied Maybe via the supplied BiFunction
  
  @param maybe Maybe to combine with another value
  @param app Maybe to combine with supplied maybe
  @param fn Combiner function
  @return Combined Maybe