[Haskell-cafe] implementing a class using superclasses?