Merge pull request #564 from strib/tree-walker-use-seen-cache

plumbing: use `seen` map in tree walker