This code is already strict enough. ixset-typed's IxSet is a set and a strict list of maps. When updated, ixset-typed will force the set and maps to whnf, and insert the new element into a Set. Sets are strict in their elements and maps are strict in their keys, and the value type PeerEntry is itself strict in its components, so the newly inserted PeerEntry will be forced, as well as the indices containing it and the set containing it.
The force also requires touching every single component of the IxSet, which is probably expensive.
This code is already strict enough. ixset-typed's
IxSet
is a set and a strict list of maps. When updated, ixset-typed will force the set and maps to whnf, and insert the new element into a Set. Sets are strict in their elements and maps are strict in their keys, and the value typePeerEntry
is itself strict in its components, so the newly insertedPeerEntry
will be forced, as well as the indices containing it and the set containing it.The
force
also requires touching every single component of theIxSet
, which is probably expensive.