pub(crate) fn link(
    cgcx: &CodegenContext<LlvmCodegenBackend>,
    diag_handler: &Handler,
    modules: Vec<ModuleCodegen<ModuleLlvm>>
) -> Result<ModuleCodegen<ModuleLlvm>, FatalError>