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.