This isn't a real question, so I'm marking it community wiki.
When I was new to LaTeX, I thought that the
\usepackage command worked much like the
#include command of the C language: just put whatever you need in the preamble, in whatever order you like.
But then bugs began to bite me and I realised, with growing horror, that commutative packages seem to be the exception rather than the rule.
They appear so often that I think it would be useful to have a list here of problematic interactions between pairs of packages, and their correct order.
Also, a question for amusement:
I want to know if there exists three packages
C, such that
A has to be included before
B needs to be included before
C needs to be included before
\usepackagedoes work like the
#includedirective, and if you could overwrite existing definitions in C, you'd run into the same issues that LaTeX has.
barboth redefine two commands,
\sith, and you want
\sith, then no order of package loading will get you both...