The Burroughs systems implementation language SDL done in 1970 had a parameter on its "break" (nee "undo") statement that specified how many levels up to break. It was used rarely, mostly for error recovery, and was very welcome. I regret C does not use the elegant "loop { ... break ... }" for control constructs.