{llvmctx : LLVM.Context} →
  {motive : Lean.IR.EmitLLVM.Context llvmctx → Sort u} →
    ((env : Lean.Environment) →
        (modName : Lean.Name) →
          (jpMap : Lean.IR.JPParamsMap) →
            (mainFn : Lean.IR.FunId) →
              (mainParams : Array Lean.IR.Param) →
                (llvmmodule : LLVM.Module llvmctx) →
                  motive
                    { env := env, modName := modName, jpMap := jpMap, mainFn := mainFn, mainParams := mainParams,
                      llvmmodule := llvmmodule }) →
      (t : Lean.IR.EmitLLVM.Context llvmctx) → motive t