With such constructs, you could avoid using labels most of the time. For example: for … { if … { guard … else { break if } ... } } for … { for … { if … { break outer for } } }