(topdown / bottomup) and (walk / walk_visit / walk_iter)