grabAndRelease

Atomically empties the slot and returns the previous occupant (or null if already empty).

The slot is nulled before the caller runs native teardown, so a re-entrant terminal callback triggered by that teardown finds the slot empty and short-circuits. Idempotent.