Nonetheless, I reworked to make it start at the nearest possible ancestor instead of the source file, and skipped it altogether in cases where neither list element went through a transformation (which is the only way they could be reordered or reparented, I think).