As an alternative we could use private definition in implementation and test, but not sure if keeping the broken definition in public headers helps anything?
No, it don't see how. It's just annoying, a comment to document MS's mess would do it I think.