A while back, this video was instrumental in my grokking monads in Haskell. People usually make you believe that they are something very hard to understand. They are in fact fun and not that hard. I really like about Haskell is how all IO operations are confined to the IO monad. That concept alone changed the way I think about programming.
I rewatch it every few months to keep things fresh in my mind.