Functors, Applicatives, and Monads: You don't need to know theory to use them
joyfulmantis.github.io
joyfulmantis.github.io
Haskell's standard type classes represent algebraic structures. And to understand algebraic structures, you need the axioms that define them. There is no way around this. Of course, you also need examples, but they are by no means a replacement for definitions. If you don't understand the definitions, then you don't understand the abstraction at all.