code: @Override
      public <C> Lazy<? extends Monad<C, Choice2<A, ?>>> lazyZip(
              Lazy<? extends Applicative<Function<? super B, ? extends C>, Choice2<A, ?>>> lazyAppFn) {
          return match(a -> lazy(a(a)),
                       b -> lazyAppFn.fmap(choiceF -> choiceF.<C>fmap(f -> f.apply(b)).coerce()));
      }
docs: {@inheritDoc}
  
  @param lazyAppFn