Proposal: New "ends" keyword

This still doesn’t resolve my trouble understanding how this is supposed to work. My understanding is that the parser will go through the code top to bottom, therefore when it gets to the ends in the first example, it won’t know how many end statements that ends is supposed to stand for. I suppose you could do preprocessing to find all the end and ends lines and then try to match them out-to-in with the beginnings of blocks/contexts, but I don’t expect that the parser already does that, so you’re adding a whole (non-trivial) parsing step for this one syntax addition.

I see, as a human, how those particular examples with just a method and some loops must be evaluated, but more complex examples become ambiguous, even for a human, and I don’t think the parser implementation to handle even the simple examples I quoted above will be particularly straightforward.