do optimization for FuncNode::update_tree