module X [system] { header "X.h" // imports Y export * } module Y { header "Y.h" export * } module Z { header "Z.h" // imports Y export * }