[Haskell-cafe] Is there a better way to subtyping?