This is really cool. One question: what’s the best place to go for further depth on these topics? Is there a “taxonomy of type classes” (e.g. like Typeclassopedia) that covers all of these hierarchies (e.g. Comonad) in the same detail as the existing Typeclassopedia covers the basic ones (e.g. Functor, Applicative, Monad)?
I like this post for an application of comonads.
In general, I’m trying to understand the use cases of some of these classes myself. Of the “esoteric” ones, I’ve gotten the most experience with the Profunctor classes lately, after playing with profunctor lenses a bit.
I plan on extending this post with links to resources as I find them. The article is somewhat incomplete right now.