04:59 <+popcorndude> the other usecase you mention is either just lookup() or else you need to save all intermediate steps (have an array instead of 2 variables) in order to handle backspace
05:00 <+popcorndude> since if state_output_pairs were an array of objects rather than just an object, you read from [-2] and write to [-1] and unstepping is popping