pub fn consolidate_updates_from<D: Ord, T: Ord, R: Semigroup>(vec: &mut Vec<(D, T, R)>, offset: usize) {
    let length = consolidate_updates_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 two elements by accumulating the third elements of the triples. Should the final
accumulation be zero, the element is discarded.
differential-dataflow/src/consolidation.rs