I’ve never had any problems wrapping my head around the concept of until. And, I never particularly agreed with the language-purists who decried, say, the repeat .. until statement in Pascal. As long as you clearly understand how a particular language implements the concept, it’s a perfectly sensible idea that we use all the time: “get on the freeway and then keep driving until you get there.” “Jump rope until you get tired of jumping.” A programming language should easily support this very common notion. The people who correctly point out that it is can be equivalently expressed in terms of while are stating a theoretically-correct point, but not a pragmatic one. A language is a tool, built for me to get a ($$)job($$) done. I don’t have to turn my thinking upside-down ... that’s what compilers are for. It can “figure it out” well enough either way; therefore, it should.