Earlier quoted context omitted.
You can easily emulate break with conditional variable.
Of course, but wouldn't that effectively defeat the purpose of removing BREAK/EXIT in the first place? With something like: WHILE ~(lastIteration) & ~(Found(haystackPart, Needle)) DO (* Advance the haystackPart. *) END; I can at least say that after the loop if lastIteration is true, then the needle wasn't found in the haystack. While something like WHILE ~(found) DO (* Stuff. *) END; Conveys next to no information.…
Personally, I do like having BREAK/EXIT, but in the eyes of structured programming purists, a loop with an explicit conditional still has a single entrance and single exit, while BREAK/EXIT statements destroy this property.