code: @Override
      public <B> Compose<F, G, B> zip(Applicative<Function<? super A, ? extends B>, Compose<F, G, ?>> appFn) {
          return new Compose<>(fga.zip(appFn.<Compose<F, G, Function<? super A, ? extends B>>>coerce()
                                               .getCompose().fmap(gFn -> g -> g.zip(gFn))));
      }
docs: {@inheritDoc}