(motive : Lean.IR.IRType → Sort u_1) →
  (x : Lean.IR.IRType) →
    (Unit → motive Lean.IR.IRType.float) →
      (Unit → motive Lean.IR.IRType.uint8) →
        (Unit → motive Lean.IR.IRType.uint16) →
          (Unit → motive Lean.IR.IRType.uint32) →
            (Unit → motive Lean.IR.IRType.uint64) →
              (Unit → motive Lean.IR.IRType.usize) →
                (Unit → motive Lean.IR.IRType.erased) →
                  (Unit → motive Lean.IR.IRType.object) →
                    (Unit → motive Lean.IR.IRType.tobject) →
                      (Unit → motive Lean.IR.IRType.float32) →
                        ((a : Option Lean.Name) → (a_1 : Array Lean.IR.IRType) → motive (Lean.IR.IRType.struct a a_1)) →
                          ((a : Lean.Name) → (a_1 : Array Lean.IR.IRType) → motive (Lean.IR.IRType.union a a_1)) →
                            (Unit → motive Lean.IR.IRType.tagged) → (Unit → motive Lean.IR.IRType.void) → motive x