The 'Monad tutorial' linked in the article doesn't use analogies. Instead, it takes you through a couple of pieces of code that have an obvious abstraction, then shows you that these abstractions are all the same, and that this abstraction is called Monad. It's really very good, you should read it.