My advice for Haskell("monad") beginners would be to try to re-implement the("a") State monad by yourself without using any libraries. It helped me understand that monads are nothing more than just function composition.

I like "Functors, Applicatives, and Monads in Pictures" [0] as a gentle introduction to the concepts. Same revelation as yours, but through a different vehicle.

[0] http://adit.io/posts/2013-04-17-functors,_applicatives,_and_...

https://github.com/MostlyAdequate/mostly-adequate-guide is also didactic but goes into more details, and is not Haskell-specific (IIRC functors, map and so forth are all defined in JavaScript)