(motive : Option (Lean.TSyntax `ident) × Lean.TSyntax `term × Lean.TSyntax `stx → Sort u_1) →
  (__discr : Option (Lean.TSyntax `ident) × Lean.TSyntax `term × Lean.TSyntax `stx) →
    ((id? : Option (Lean.TSyntax `ident)) →
        (id : Lean.TSyntax `term) → (stx : Lean.TSyntax `stx) → motive (id?, id, stx)) →
      motive __discr