Expand description

Find nodes that are obviously unchanged, so we can run the main diff on smaller inputs.





Count the nodes in lhs that are unique to the LHS input, but are also present in rhs.
Return true if both nodes are lists with same delimiters and have the same start and end children.
Set ChangeKind on nodes that have exactly the same structure on both sides, and return a vec of pairs that need proper diffing.
Skip syntax nodes at the beginning or end that are obviously unchanged.
If we’re comparing two lists that have the same delimiters, mark the delimiters as unchanged and return the children.
Split out top-level lists that are largely the same.
Mark top-level nodes as unchanged if they have exactly the same content on both sides.