To be clear, I&#x27;m not meaning to criticize, just understand my confusion and explore terminology.<p>I agree with your starting point, but to my mind type classes are precisely a way to &quot;make [types] implement an interface&quot;.  I completely agree that it is often impractical to do so by defining new types.<p>I&#x27;ll address the rest when I have a little more bandwidth - I hope you&#x27;ll forgive me; between interesting projects at work, a new baby, and holiday goings on, attention is in high demand.