I don't know the algorithm, but is there any reason why this shouldn't be something like `Vec<(u64, K, V)>`?

(That is, what's the advantage of 3 vectors?)