Let T[] denote "dynamic array of T": rope = string[] = char[][].
As I understand it, usually each line of text is in its own memory buffer.