code: @Override
      public <T2, R> Future<R> zip(final BiFunction<? super T, ? super T2, ? extends R> fn, final Publisher<? extends T2> app) {
          return Future.of(future.thenCombine(Future.fromPublisher(app).getFuture(), fn));
      }
docs: /*
  Equivalent to combine, but accepts a Publisher and takes the first value
  only from that publisher.
  
  (non-Javadoc)
  
  @see com.oath.cyclops.types.Zippable#zip(java.util.function.BiFunction,
  org.reactivestreams.Publisher)