∀ {ρ : Type} (pat : ρ) (s : String.Slice) (it : Std.IterM Id (String.Slice.Pattern.SearchStep s))
  (motive : Option (s.sliceTo it.internalState.currPos).Pos → Sort u_1) (pos : (s.sliceTo it.internalState.currPos).Pos)
  (h_1 : (pos_1 : (s.sliceTo it.internalState.currPos).Pos) → some pos = some pos_1 → motive (some pos_1))
  (h_2 : some pos = none → motive none),
  (match h' : some pos with
    | some pos_1 => h_1 pos_1 h'
    | none => h_2 h') =
    h_1 pos ⋯