Concurrent Clean : rank-N polymorphism

[id:lethevert:20051229:p4]で、ランクN多相はまだ使えないよ、ということを書いていたのだけれど、
翻訳された言語報告のバージョンが2.0だったので、古かったらしい。
http://lethevert.blogspot.com/2006/10/re-verious-types.html
のサンプルに見られるように、rank-2は使用可能だ。
言語報告にある例

h :: (A.a: [a] -> Int) -> Int
h f = f [1..100] + f ['a'..'z']

Start = h length

も問題なく動作する。