visit_state.current is always set to visit_state.lchild, it doesn't need to be inside the block.