A translation unit shall include a header only outside of any
declaration or definition and,
in the case of a module unit,
only in its global-module-fragment
shall include the header or import the corresponding header unit lexically
before the first reference in that translation unit to any of the entities
declared in that header.