Patch Set 1:

I think this change permits us to stop having the comparator in the RawText instance, which fixes the issue you noticed during the earlier refactoring that added the comparator type.

I wrote this while I wasn't the most lucid.  So it really needs a lot of review before we include it.  :-)