&gt; it&#x27;s very hard to tell the difference between semantically important ordering and accidental ordering.<p>Not when effects are clearly marked. There is zero difference in that respect between continuations (i.e. imperative) and monads. It&#x27;s only syntax and whatever your type system is.<p>&gt; It&#x27;s very normal to encapsulate something of that nature with a monad.<p>Sure, but a monad won&#x27;t help you ensure their proper ordering.