----- Original Message -----
Which reminds me... If you are running without substitution (_allow_sub set to false), then we may need to have a lower cost for deletions than for insertions, because for substitutions we want a script with delete(A) followed by insert(A), rather than insert(A) followed by delete(A). The latter may result in 'A' being removed rather than replaced.
I did a few experiments trying to cajole the algorithms into outputting edit operations in some kind of canonical ordering. Getting the algorithms to do this natively didn't look very promising, and it left me feeling like the best solution would be to collect operations in the output-object, and then sort them after-the-fact into some desired ordering, for cases where that is important.