Look into the Typeclassopedia in TMR13. No one else has suggested it, and it has helped me think about the various type classes that Haskell provides immensely.
Note: it is being updated to a second edition, but the first edition is still relevant and informative.