Monads & Gonads
From OO to Clojure Workshop!
Watch my free workshop to help you learn Clojure faster and shift your paradigm to functional.
Reference: Monads & Gonads
I have to appreciate the freshness of his approach. He says a monad is just an object with certain properties (the monad laws). That's a great way to explain it in an object-oriented context. Objects are the unit of encapsulation. Monads serve the purpose of encapsulating state and allowing structured access to that state.
Either way, it is an entertaining watch and a good explanation of monads. Perhaps the most down-to-earth I have seen.