pub fn consolidate_from<T: Ord, R: Semigroup>(vec: &mut Vec<(T, R)>, offset: usize) {
    let length = consolidate_slice(&mut vec[offset..]);
    vec.truncate(offset + length);
}
Sorts and consolidate `vec[offset..]`.

This method will sort `vec[offset..]` and then consolidate runs of more than one entry with
identical first elements by accumulating the second elements of the pairs. Should the final
accumulation be zero, the element is discarded.
differential-dataflow/src/consolidation.rs