Adds partitioned version of text line.

A partitioned version of TextLine that can be both read and written to.
Can we fail more gracefully if the number of matches is wrong? Or is that not something to be worried about?