Assignment tracking backtracking state - collects pattern-element pairs.
Readonly
Try to advance the state with a new assignment and return true if successful.
Backtrack by removing the last state change.
Check if we've reached a successful final state.
Get the final result.
Assignment tracking backtracking state - collects pattern-element pairs.