CompressedVector stores the underlying data in a two arrays: A values array and a indices
array. The values array matches the indices array, and they're both sorted by the indices
array. To get a value at an index, the index is found in the indices array with a binary
search and the respective value is obtained from the values array.
Since the lookup is done as indicated above, it is important that the values and indices are stored in sorted order for binary search to work properly.
Since the lookup is done as indicated above, it is important that the values and indices are stored in sorted order for binary search to work properly.
Closes #290