Concurrent Clean : サブタイピング

Cleanには、レコード型のサブタイピングがない。というか、サブタイピングそのものがないんだっけ?型クラスのサブタイピングはある。
下のような、直感的には書けて欲しいプログラムがコンパイルエラーになる。

::A = {a :: Int
      ,b :: String}

::B = {a :: Int
      ,c :: Real}

Start = (f {a = 1, b = "abc"}
        ,f {a = 2, c = 2.3})

f {a} = a

サブタイピングがないので、fの型を推論できないのだ。
時々不便に思うのだけれど。