Slice of internal data.
For IndexedSeq mode it works as regular slice, if until overshoots the end of input,
it just ignores it and behaves like until equals to the length of input.
Same for Iterator mode, but it requests batches while the index of last retrieved element is less than until
and if until is farther away than any element, it ignores this too.