add comment about why return max(root->val, max(root->val + l, root->avl + r))