A text fragment can be a text node or an immutable list of text nodes. The text fragment is always balanced.
interface text fragment
extends deeply immutable data
extends stringable