Earlier quoted context omitted.
Haskell typeclasses are a headache that many Haskell experts eschew.
Wow, really? I learned some Haskell on the side a few years ago, and typeclasses were one of my favorite features. They allowed so much expressiveness from such small building blocks. They seemed like a cornerstone of the language. I'm surprised to hear they're often eschewed.
Haskell programmers do seem to prefer typeclasses that come equipped with some set of meaningful "laws" that help to reject "unreasonable" instances.
And even without that, they are very useful for data type conversions and the like.