code: public static <T1, T2, R> Single<R> zip(Single<? extends T1> single, BiFunction<? super T1, ? super T2, ? extends R> fn,
              Publisher<? extends T2> app) {
          Single<R> res = Single.fromPublisher(Future.fromPublisher(single.toFlowable()).zip(fn,app));
          return res;
      }
docs: Combine the provided Single with the first element (if present) in the provided Publisher using the provided BiFunction
  
  @param single  Single to combine with a Publisher
  @param fn Publisher to combine with a Single
  @param app Combining function
  @return Combined Single