Will some of the historical baggage in MFC be tidied up?

I am thinking of:

  • If you use #define NOMINMAX to tame the SDK header files and allow well behaved minimum and maximum functions, you have to put three lines of declarations before MFC headers.
  • The MFC object macros create member names from the class names, frustrating use of namespaces.
  • Various MFC functions return BOOL, giving a compiler warning when converted to bool; DDX_Check cannot be used with bool at all.
  • MFC arbitrarily switches off warnings in user code by default unless _AFX_ALL_WARNINGS and _ATL_ALL_WARNINGS are defined.