{m : Type (max u_1 u_2) → Type u_3} →
  {ε : Type (max u_1 u_2)} →
    [inst : MonadAttach m] →
      {α : Type (max u_1 u_2)} →
        (x : ExceptT ε m α) →
          (motive : (a : Except ε α) → MonadAttach.CanReturn x a → Sort u_4) →
            (a : Except ε α) →
              (h : MonadAttach.CanReturn x a) →
                ((a : α) → (h : MonadAttach.CanReturn x (Except.ok a)) → motive (Except.ok a) h) →
                  ((e : ε) → (h : MonadAttach.CanReturn x (Except.error e)) → motive (Except.error e) h) → motive a h