モナド...
まず、自分には、理解はいいから、使えればいい。
参考URL
http://the.igreque.info/posts/2016/04-monad-in-java.html
上記URLから抜粋すると とりあえず下記のメソッドのインタフェースを用意するらしい
interface Monad<T1> {
<T2> Monad<T2> then(Function<T1, Monad<T2>> action);
interface Return {
<T> Monad<T> doNothingReturning(T value);
}
}