scala で id 関数

Scala の id 関数(というか polymorphic な関数)は以下のように書く。Java っぽい。

scala> def id[T](x:T) : T = x
id: [T](T)T

scala>

id:yoshihiro503 さんに、id(id) ができるかどうかやってみと言われてたので、

scala> id(id)
<console>:6: error: missing arguments for method id in object $iw;
follow this method with `_' if you want to treat it as a partially applied function
       id(id)
          ^

scala>

あれ…。でも適当に"_"を入れてみたら動いてしまった。"_"ってなんなんだ。

scala> id(id(_))
typing eta id
res7: (T) => Nothing = <function>

scala>

どうやら"_"を使って id が関数であることを教えてあげる必要があるようです。(勘)
"_"についてはコメント欄参照。(thanks to mzp)