(s : String.Slice) →
  (motive : Std.IterM Id (String.Slice.Pattern.SearchStep s) → Sort u_1) →
    (x : Std.IterM Id (String.Slice.Pattern.SearchStep s)) →
      ((iter : String.Slice.Pattern.ForwardSliceSearcher s) → motive { internalState := iter }) → motive x