Yes, but the problem is that a macro, in isolation, does not have to be valid code. There is no requirement that a macro will contain matching brackets, and I often see macros that do not contain matching brackets, where you need to pair a start and end macro to get the brackets to match.
Because of this, VA does not try to do to much with macros in isolation.
I agree that your macro is balanced, and its tempting to argue it should be a function, not a macro, where we can hope for matching brackets.
We're talking about renaming the argument in a macro with arguments. Whether or not the macro has matching brackets, braces, etc., is irrelevant. The use of the macro argument is entirely within the macro definition and nowhere else.
This makes sense, I am wary of trying to be to clever with macros, given how complex some of them get, but you make a very good point. I have put in a feature request for this to see what our developers make of it: