ConsString
A lazily flattened rope of two character sequences. Repeated string concatenation builds a tree of these instead of copying, and the tree is flattened once, on the first read.
KMP: upstream synchronizes flatten. Dropped under the single-thread contract (D-3).