Ha, sorry, didn't mean to make it sound like I was talking about anything in particular! I just made up that example on the spot. A "Renderable" thing fits into a common pattern where you see typeclasses used in this way.
Ahh - I thought you may have read my articles on HN or Reddit - how self centered of me :)
Yes, there's no 'Renderable' typeclass but there are 'Primitive's. There are no laws that the 'Primitive' typeclass instances must obey but there are associated types that need to be satisfied. I tried to write this without a typeclass and I just couldn't get it to check, so I turned to TypeFamilies to encode the relation ship between types. I'd love to make it more idiomatic though!
(Are you talking about this library? https://hackage.haskell.org/package/renderable-0.1.0.0/docs/...
I don't actually see a Renderable class there anyway.)