cleveref package must be loaded after all other packages that do
not support it" (
cleveref 0.21.4 documentation, Section 13).
cleveref package conflicts with several other packages if loaded
before them. To allow user to use those packages, we must load it at
the very last time, in AtBeginDocument.