If you view member access as a (global) function on a value (possibly an lvalue), then it actually makes a whole lot of sense.
I find code dealing with structures that have their members prefixed with a unique prefix much easier to read, usually.
Given the pervasiveness of APIs that contain struct definitions nowadays, it's also understandable that the unique-constraint was removed.