[Haskell-cafe] Supplying a default implementation for a typeclass based on another class