def compile_module(<EOL>forms: Iterable[ReaderForm],<EOL>ctx: CompilerContext,<EOL>module: types.ModuleType,<EOL>collect_bytecode: Optional[BytecodeCollector] = None,<EOL>) -> None:
_bootstrap_module(ctx.generator_context, ctx.py_ast_optimizer, module)<EOL>for form in forms:<EOL><INDENT>nodes = gen_py_ast(ctx.generator_context, parse_ast(ctx.parser_context, form))<EOL>_incremental_compile_module(<EOL>ctx.py_ast_optimizer,<EOL>nodes,<EOL>module,<EOL>source_filename=ctx.filename,<EOL>collect_bytecode=collect_bytecode,<EOL>)<EOL><DEDENT>
Compile an entire Basilisp module into Python bytecode which can be
    executed as a Python module.

    This function is designed to generate bytecode which can be used for the
    Basilisp import machinery, to allow callers to import Basilisp modules from
    Python code.