Functors and Monads For People Who Have Read Too Many "Tutorials"
Title is literally true. This may not be the best place to learn about these concepts for the first time, because I'm going to focus on knocking down the misconceptions about them.
Then again, it may not be the worst place, for the same reason.
I had promised myself I would not add to the pile of functor or monad "tutorials", but I've been worn down. I gave up when I saw a reddit comment complaining about how Functor was "too hard to understand", which made me sad, because the correct response to the Functor interface is, "That's it?". And while Monad is legitimately a bit more interesting and complex, the correct response to that is not that different.
Source: Functors and Monads For People Who Have Read Too Many "Tutorials", an article by Jeremy Bowers.