{pu : Lean.Compiler.LCNF.Purity} →
  (motive : Option (Lean.Compiler.LCNF.Arg pu × Subarray (Lean.Compiler.LCNF.Arg pu)) → Sort u_1) →
    (x : Option (Lean.Compiler.LCNF.Arg pu × Subarray (Lean.Compiler.LCNF.Arg pu))) →
      (Unit → motive none) →
        ((a₂ : Lean.Compiler.LCNF.Arg pu) → (s' : Subarray (Lean.Compiler.LCNF.Arg pu)) → motive (some (a₂, s'))) →
          motive x