A text fragment can be a text node or an immutable list of text nodes. The text fragment is always balanced.