Here's the gist of what I would propose... https://gist.github.com/d3x0r/f496d0032476ed8b6f980f7ed31280da
In C, there are two operators . and -> used to access members of struct and union types. These operators are specified such that they are always paired in usage; for example, if the left hand expression is a pointer to a struct or union, then the operator -> MUST be used. There is no occasion where . and -> may be interchanged, given the existing specification. It should be very evident to the compiler whether the token before '.' or '->' is a pointer to a struct/union or a struct/union, and just build the appropriate output. The source modification for the compiler is very slight, even depending on flag_c2x(that's not it's name). It ends up changing a lot of existing lines, just to change their indentation; but that shouldn't really count against 'changed lines'. I'm sure, after 4 score and some years ('78-19) that it must surely have come up before? Anyone able to point me to those existing proposals? D