it's necessary because there are two discrete read operations we call on the passed set, `Size()` and `Each()`. it is possible, albeit *exceedingly* unlikely, that a write could slip in against the passed set between those two calls, causing an inconsistent read situation. if that write operation is a deletion, then `IsEqual()` will report `true` when it is actually not.

i think?