Details:
All of its inputs are assumed to be sorted. This can mean that inputs are instances of SortedRange. Use the result of sort, or assumeSorted to merge ranges known to be sorted (show in the example below). Note that there is currently no way of ensuring that two or more instances of SortedRange are sorted using a specific comparison function pred. Therefore no checking is done here to assure that all inputs rs are instances of
SortedRange.
This algorithm is lazy, doing work progressively as elements are pulled off the result.
Time complexity is proportional to the sum of element counts over all inputs.
If all inputs have the same element type and offer it by ref, output becomes a range with mutable front (and back where appropriate) that reflects in the original inputs.
If any of the inputs rs is infinite so is the result (empty being always false).