mark_subtree
changed += mark_subtree(node->left);
changed += mark_subtree(node->right);
changed += mark_subtree(right);