(motive : Qq.Impl.PatVarDecl → Sort u_1) →
  (x : Qq.Impl.PatVarDecl) →
    ((fvarId : Lean.FVarId) → (userName : Lean.Name) → motive { ty := none, fvarId := fvarId, userName := userName }) →
      ((val : Q(Lean.Expr)) →
          (fvarId : Lean.FVarId) →
            (userName : Lean.Name) → motive { ty := some val, fvarId := fvarId, userName := userName }) →
        motive x