A Hoof file consists of a list of modules.
There will only be one module in any given file. Before code is
generated, the modules that a given module depends upon are
concatenated to form a temporary file so that the file actually
compiled may contain multiple modules.
<modules> ::= <module_spec> | <module_spec> <modules>

Each module contains imports and declarations. The includes are just
list of files that are to be included into the generated source code.