{ε : Type u} →
  {m : Type v → Type w} →
    {motive : MonadExcept ε m → Sort u_1} →
      (t : MonadExcept ε m) →
        ((throw : {α : Type v} → ε → m α) →
            (tryCatch : {α : Type v} → m α → (ε → m α) → m α) → motive { throw := throw, tryCatch := tryCatch }) →
          motive t