I guess I&#x27;m just not sure why this is a problem, exactly. Even if you couldn&#x27;t use those statements inside of a `do` block, that shouldn&#x27;t be an issue? Just like using `break` outside of a loop is invalid, it would be the same here.<p>The Option monad already is a sort of early return. Inside of monadic combinators, you use the monad for control flow instead of those statements. Seems fine to me, though admittedly my Type Theory Wizardry isn&#x27;t the strongest.