「中途半端に関数型」ってのは、まさにscalaに対して常々感じていた
ことだなあ。

1. 高階関数を使うと、型宣言の嵐になる。
2. メソッド呼び出しが後置形式なので、関数適用が順に並ばない
  たとえば filter g . map f xがfilter(g, x.map(f))みたいになる。

まあOOPとFPを共存させる上でやむを得ないとはわかっているんだけどね。