The 2 seperate key and value arrays are replaced with a single struct pair array that allows for a 2x reduction in loads/stores during element swaps in the common case of same-sized keys and values.
This enables efficient implementations of priority queues, and will also be used in LibCompress for efficient huffman tree generation.