working on a faster way to walk tree diffs