The tails function returns all final segments of the argument, longest first. For example,
> tails "abc" == ["abc", "bc", "c",""]
O(n) Return all final segments of the given ByteString, longest first.
O(n). Returns a sequence of all suffixes of this sequence, longest first. For example,
> tails (fromList "abc") = fromList [fromList "abc", fromList "bc", fromList "c", fromList ""]
Evaluating the ith suffix takes O(log(min(i, n-i))), but evaluating every suffix in the sequence takes O(n) due to sharing.
The TextDetails data type
A TextDetails represents a fragment of text that will be output at some point.