Code comparison changes no partition or leaf-reference array.
Only an internal classification continues the current node.
Pruning returns an ancestor level without consuming recursion fuel.
Leaf actions return control without consuming recursion fuel.
The internal classification is exactly a non-discrete node that has not failed both first-path and canonical comparison.
Classification preserves the partition and both saved labellings.
A pruning return changes neither the partition nor the leaf references.
Processing a leaf preserves the current partition and first leaf; the canonical labelling is retained or replaced by the current labelling.
Changing bookkeeping and optionally installing the current labelling preserves the partition invariant.
A local operation with unchanged partition and only current-leaf installations satisfies the call's frame effect.