The order of execution of the modules in a program is constrained by the following rule:
If module M depends on module N and N does not depend on M, then N's body will be executed before M's body, where:
Except for this constraint, the order of execution is implementation-dependent.