[Haskell-cafe] Generic typeclass for converting between types