enterStep
Lane pump, around one eval's step: publish evalId as who is on this lane's stack, so the watchdog knows who to name. Returns the id it displaced — hand that back to exitStep. Save/restore rather than clear, because steps NEST for endFrame's reason, and the restore is what carries the enclosing step across a nested frame.
Under GuardState's monitor with arm's kill write, so a step registering after the budget was already spent arms itself and is over the limit from its first instruction.