Monads Are Not Metaphors - Code Commit. Definitely one of the better explanations of what a monad is that I have read.