That's not a depth-first order, and it hasn't even called
dir_opened('A') at all unless 'A' had a prop change. The 'diff
callbacks' documentation doesn't say exactly what the ordering
requirements are, but it would make sense to require something similar
to the delta editor.

So far, the 'diff --summarize' code is the only code that uses these
dir_opened/dir_closed callbacks, and it's perfectly happy with this.