code: @SuppressWarnings("unchecked")
    public static <E> Function<E, E> identity() {
      return (Function<E, E>) IdentityFunction.INSTANCE;
    }
docs: implementation is "fully variant"; E has become a "pass-through" type