(motive : Lean.Meta.DiscrTree.Key → Sort u_1) →
  (x : Lean.Meta.DiscrTree.Key) →
    (Unit → motive Lean.Meta.DiscrTree.Key.star) →
      (Unit → motive Lean.Meta.DiscrTree.Key.other) →
        ((v : ℕ) → motive (Lean.Meta.DiscrTree.Key.lit (Lean.Literal.natVal v))) →
          ((v : String) → motive (Lean.Meta.DiscrTree.Key.lit (Lean.Literal.strVal v))) →
            ((k : Lean.Name) → (a : ℕ) → motive (Lean.Meta.DiscrTree.Key.const k a)) →
              ((s : Lean.Name) → (i a : ℕ) → motive (Lean.Meta.DiscrTree.Key.proj s i a)) →
                ((k : Lean.FVarId) → (a : ℕ) → motive (Lean.Meta.DiscrTree.Key.fvar k a)) →
                  (Unit → motive Lean.Meta.DiscrTree.Key.arrow) → motive x