Scalaは型ちゃんと書くから2nd order polymorphismが表現できてもよいと思うんだけど
(つまり、forall をいろんなところにつけれる)
例えば:
def foo(id : [A]. A => A) : Unit =
 id(id)(())
これが普通にできればMLやHaskellより明らかに強力と言えるのではないか。