This nastiness creates a string out of all of the inserted text; it works great if there were no deletions. I can't figure out a way to determine if a deletion in a transaction deletes another piece of text typed in the transaction, or if it's a completely unrelated operation. Other than diffing patch locations to see if the deletion position was already inserted, which is a pretty monstrous task. It doesn't look like Transaction has a better way to do this today, but I'm wondering if there's something planned that I can contribute towards that might make this sort of thing easier.