I think you are in agreement with the comment you are replying to.
Even today, an implementation may define unsigned overflow.
The parentheses are part of the operand and only needed for type names, to make them into cast expressions.
That means that programmers don’t have to use trial and error to figure out how the compiler behaves and don’t have to _hope_ they found all the corner cases.