[Haskell-cafe] Encoding superclass relationships as a constraint?