Ah, gotcha.  So I think that the reason that `Index` builds the list (instead of this pattern) is to allow for index access during iteration.  If you did a `foreach (IndexEntry entry in Index) { ... delete index entry... }` then you would end up misaligned.

There's opportunity for improvement here, I think, since there are some index snapshot improvements, but I think those only duplicate the main index, not the REUC and NAME areas.