For difference / difference_by_key:
If the data is sorted and deduplicated, then the next element that will be greater than the current element is simply the next element.
For intersection:
Don't need to call exponential_offset_ge on the slice pointer(s) that are known to already be at the max value.
All tests pass, and I ran the benchmark several times and observed consistent performance improvements in the affected operations.
For difference / difference_by_key: If the data is sorted and deduplicated, then the next element that will be greater than the current element is simply the next element.
For intersection: Don't need to call exponential_offset_ge on the slice pointer(s) that are known to already be at the max value.