{ε σ α : Type u_1} →
  (motive : EStateM.Result ε σ α → Sort u_2) →
    (x : EStateM.Result ε σ α) →
      ((e : ε) → (s : σ) → motive (EStateM.Result.error e s)) →
        ((ok : EStateM.Result ε σ α) → (∀ (e : ε) (s : σ), ok = EStateM.Result.error e s → False) → motive ok) →
          motive x