<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><p dir="ltr">And this is because the implementation of IO is *specifically* crafted to guarantee this ordering. It is not a property of monads in general, or do syntax in general.</p></div></blockquote><div>Yes, this is an important point.  My "as you would expect" was pointed at the IO part of Jon's example, not the monad part :D. Thanks for clarifying. </div></div></div></div>