LATEST_BACKWARD_JUMP
This is the most recently encountered backward jump in the ancestry of this bundle tree, or nil if none were encountered in the ancestry. There could be multiple competing parsing plans in that target bundle tree, some of which had a backward jump and some of which didn't, but we only require that at least one had a backward jump.
Since every loop has a backward jump, and since the target has a pointer to its own preceding backward jump, we can trace this back through every backward jump in the ancestry (some of which will contain the same parsing-plans-in-progress). When we expand a node that's a backward jump, we chase these pointers to determine if there's an equivalent node in the ancestry – one with the same set of parsing-plans-in-progress. If so, we use its expansion rather than creating yet another duplicate copy. This saves space and time in the case that there are repeated arguments to a method, and at least one encountered invocation of that method has a large number of repetitions. An example is the literal set notation "{«_‡,»}", which can be used to specify a set with thousands of elements. Without this optimization, that would be tens of thousands of additional bundle trees to maintain.