The old LRU implementation stored a list's indices to reference items in that list, but deletions from the list made indices point to the wrong slot. Functionally, it meant that deleted slots were not guaranteed to be the oldest slot. Using a linked list fixes that.