@AnyKtokolwiek: Możesz podać jakiś przykład, gdzie kolejność includowania ma znaczenie?
Jeśli dochodzi do czegoś takiego to jest to programistyczne WTF.
Niestety spotkałem się z czymś takim w C++ Builder (wieki temu, więc może to zmienili): zależnie od kolejności #include <iostream> i jakiegoś nagłówka z VCL (nie pamiętam nazwy), dostarczany był (albo nie) std::ostream& operator<<(ostream&, const TString&) i std::istream& operator>>(istream&, TString&).
Ostatnio na MacOS natrafiłem na ten problem tylko w podwojonej dawce (u mnie jeszcze wyskoczyło gmtime_s).
W API Windowsa jest dużo takich kwiatków, by obsłużyć funkcje/metody w wersji kończącej się na A i W (wersje dla char it wchar_t).