Java8のラムダ式でYコンビネータ ref: http://qiita.com/matarillo/items/9e1a058d186104a1f964