What I think we should do instead is just alter the parser to output things more intuitively. This move would directly break current usage, BUT ONLY IN CASES OF *UNEXPECTED OUTPUT*. The breakage would only be on the kinds of output no one intends ANYWAY.
A lot of people have said that it is all but inevitable that a few corner cases are going to have to be treated differently than they are now. Your proposal is just a particular example of that.