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.