I didn't do that because it would require PatienceDiff to perform a translation on every Edit it creates to translate from the HashedSequence wrapping the Subsequence space into the original space.

Using the original element indexes meant I didn't have to do the translation on the Edit.

But maybe you are right.  Maybe we should be doing the translation on the Edit at the end.  The Edit list is shorter than the element list.  So deferring the translation means we can save operations (by not translating on each hash call), and its probably more clear.

I'll rework this.  Thanks.