(motive :
    MProd (Subarray (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.impure))
        (MProd (Array (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.impure))
          (Array (Lean.Compiler.LCNF.CodeDecl Lean.Compiler.LCNF.Purity.impure))) →
      Sort u_1) →
  (r :
      MProd (Subarray (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.impure))
        (MProd (Array (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.impure))
          (Array (Lean.Compiler.LCNF.CodeDecl Lean.Compiler.LCNF.Purity.impure)))) →
    ((__s : Subarray (Lean.Compiler.LCNF.Param Lean.Compiler.LCNF.Purity.impure)) →
        (args : Array (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.impure)) →
          (body : Array (Lean.Compiler.LCNF.CodeDecl Lean.Compiler.LCNF.Purity.impure)) → motive ⟨__s, args, body⟩) →
      motive r