Pretty dern good, but could be smarter.
Made acyclic traversal smarter-- uses 'via' to eliminate unnecessary lookups in certain cases.