(motive : MProd (Option Lean.Expr) (Array (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) → Sort u_1) →
  (r : MProd (Option Lean.Expr) (Array (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure))) →
    ((remainingType : Option Lean.Expr) →
        (result : Array (Lean.Compiler.LCNF.Arg Lean.Compiler.LCNF.Purity.pure)) → motive ⟨remainingType, result⟩) →
      motive r