optimize backtracking for Traverser