NOTHING_TO_RETIRE

DEFAULT with the retirement floor at zero — for a binding whose alphabet declares no OpKind.RETIRE op because the type has nothing to retire.

Named for the claim rather than for a shape, because the bindings that qualify are not all the same shape. GSet, GCounter, PNCounter and IntMax genuinely only grow, and DotContext only records dots it has seen. But MVRegister supersedesset drops the values it causally dominates — and BoundedCounter's spend and transfer consume quota by adding to grow-only tallies. Neither grows in the naive sense; both qualify under the test at the top of OpKind, and each binding argues it where it declares this.

Reach for it only when a retiring op could not be written. A binding that could retire and does not is the vacuity shape itself, not a candidate for a waiver: LWWMap sat at 0.0% retiring steps for as long as it had a binding, with LWWMap.remove in the type the entire time. That wanted the op, which is what it got.