default <V> Function<T,V>
andThen(Function<? super R,? extends V> after)
default <V> Function<V,R>
compose(Function<? super V,? extends T> before)
static <T> Function<T,T>
identity()
<R> NaiveMonad<R>
bind(Function<? super T,NaiveMonad<R>> f)