I don't believe tutorials are the right way to figure out monads. For one thing, they aren't as extremely important as they're made out to be, people have just latched on to the name.
If you really want to understand monads you have to actually try to write code using them, and struggle through it.
I understand monads just fine. I would like to see a readable explanation of the exact syntactic transformation of the 'do' notation to the actual function that the monad is to logically return the wrapped application of.
If I'm reading that right, you want to see how do-notation is desugared?
The best explanation I could find was http://metafoo.co.uk/practical-monads.txt
The two sections "Binding lines together" and "Lines that don't return values" explain it nicely.