As far as I know, a Haskell function with type classes constraints is internally compiled to a function with additional arguments that receive dictionaries with the necessary implementations of each particular type class.
- Are there any other possibilities how compile type classes?
- If so, what are their (dis)advantages?
- And what compilers use them?