in reply to next and anonymous blocks

From next:
Note that a block by itself is semantically identical to a loop that executes once. Thus next will exit such a block early.

So your guess is essentially correct, though literal internal implementation is likely not that simple.