Every roll for every slot weights itself against the same probability table the original 10,000 CryptoPunks used. Some slots are mostly empty by design — only ~3.7% of OG punks wear a Neck accessory, so the Neck slot rolls empty ~96% of the time.
Why so many "empty" rolls? Each slot has an independent OG-derived empty rate. Once the slot unlocks, the chain rolls a uint16 in [0, 10000): if it lands below the empty threshold, no trait is rendered for that slot. The remaining probability is split between the slot's traits by OG count. Freezing a non-empty value is how rare states get locked in; unfrozen slots will keep rerolling — including back to empty.