After all this work, I feel we’ve reached the goal stated in the introduction: I meant for you to understand what type classes are, how they work, and what purpose they serve.
I hope that, at this point, we can agree that type classes are:
And this should, in theory, be the point where I stop writing.
But when talking about type classes, there’s always going to be someone to comment sure, but Haskell though….