Interesting. That might work.

An aside, note that the "break" pattern I'm showing here isn't really any different than the  existing API. It's more like a corner case that wasn't covered correctly in the previous examples.