Create structs and rules for Section 13.1

This includes some of the rules for `ModuleDefinition`