(motive : Lean.Name → Sort u_1) →
  (x : Lean.Name) →
    (Unit → motive Lean.Name.anonymous) →
      ((p : Lean.Name) → (s : String) → motive (p.str s)) → ((p : Lean.Name) → (n : ℕ) → motive (p.num n)) → motive x