My point was that you still call functions and return from them, you have conditionals, and you still have a call stack with lexical scoping (and Main). You have a very similar control flow model compared to any other language. The other comment explained pretty well what they meant by having the control flow not being dictated by the language - with the expressiveness of haskell’s core language you can dictate your control flow for your embedded dsl.