Diff sliders are a really interesting problem for AST diffs. Here's a surprising example. At first, it looks like the first `|` should be highlighted. However the first `|` is the outer `match` case, and the inner | is syntactically an or-pattern!