constructor(rootModule, runtime) {
		this.rootModule = rootModule;
		this.runtime = runtime;
		/** @type {Set<Module>} */
		this.modules = new Set();
		this.modules.add(rootModule);
		/** @type {Map<Module, Problem>} */
		this.warnings = new Map();
	}
@param {Module} rootModule the root module
@param {RuntimeSpec} runtime the runtime