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!
[I'd love some feedback if you're so inclined](https://github.com/schell/renderable/blob/master/src/Data/Re...)