docs: @Override
      public <B> Identity<B> zip(Applicative<Function<? super A, ? extends B>, Identity<?>> appFn) {
          return new Identity<>(appFn.<Identity<Function<? super A, ? extends B>>>coerce().runIdentity().apply(a));
      }