TextRange

TextRange :: # (opaque)

The same half-open source span in UTF-8 byte and decoded-scalar coordinates.

This value does not retain the source. Algorithms that return a TextRange guarantee that both component ranges describe the same scalar-aligned span.

start : TextRange -> TextPosition
end : TextRange -> TextPosition
BoundsError : [ByteEndBeforeStart, ScalarEndBeforeStart]