{motive : Lean.Elab.Term.CollectPatternVars.Context → Sort u} →
  (t : Lean.Elab.Term.CollectPatternVars.Context) →
    ((funId : Lean.Ident) →
        (ctorVal? : Option Lean.ConstructorVal) →
          (explicit ellipsis : Bool) →
            (paramDecls : Array (Lean.Name × Lean.BinderInfo)) →
              (paramDeclIdx : ℕ) →
                (namedArgs : Array Lean.Elab.Term.NamedArg) →
                  (usedNames : Std.HashSet Lean.Name) →
                    (args : List Lean.Elab.Term.Arg) →
                      (newArgs : Array Lean.Term) →
                        motive
                          { funId := funId, ctorVal? := ctorVal?, explicit := explicit, ellipsis := ellipsis,
                            paramDecls := paramDecls, paramDeclIdx := paramDeclIdx, namedArgs := namedArgs,
                            usedNames := usedNames, args := args, newArgs := newArgs }) →
      motive t