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.
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