I know you mentioned type classes (repeatedly and positively).  What I mean is that I don&#x27;t see why, in their presence, there&#x27;s still a problem.  On careful reread, I guess you don&#x27;t see them as an example of &quot;having various types extend a common interface&quot;?  (which would make them a solution, but excluded from the discussion) (edited to add - and I find that description to fit them just find, hence my confusion)