As an aside I think when I was first starting out on the path to understanding what the hell was going on with monads, I found  the following blog post was very insightful:

http://blog.sigfpe.com/2006/08/you-could-have-invented-monads-and.html

Regards,
Ben