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