Concurrent Clean : 型クラス
次のような指定はダメ。"multiply defined"といって怒られる。
class A q where a :: q -> {#Char} instance A {#a} where a _ = "Array" instance A {#Char} where a _ = "String"
次のような指定はOK。
class B q a where b :: (q a) -> {#Char} instance B {#} a where b _ = "Array" instance B {#} Char where b _ = "String"