code: @Override
      public <B> Lazy<Maybe<B>> lazyZip(
              Lazy<? extends Applicative<Function<? super A, ? extends B>, Maybe<?>>> lazyAppFn) {
          return match(constantly(lazy(nothing())),
                       a -> lazyAppFn.fmap(maybeF -> maybeF.<B>fmap(f -> f.apply(a)).coerce()));
      }
docs: Terminate early if this is a {@link Nothing}; otherwise, continue the {@link Applicative#zip zip}.
  
  @param <B>       the result type
  @param lazyAppFn the lazy other applicative instance
  @return the zipped {@link Maybe}