{ρ : Type} →
  {σ : String.Slice → Type} →
    {pat : ρ} →
      [inst : String.Slice.Pattern.ToForwardSearcher pat σ] →
        {s : String.Slice} →
          (motive : String.Slice.SplitInclusiveIterator pat s → Sort u_1) →
            (x : String.Slice.SplitInclusiveIterator pat s) →
              ((currPos : s.Pos) →
                  (s_1 : Std.Iter (String.Slice.Pattern.SearchStep s)) →
                    motive (String.Slice.SplitInclusiveIterator.operating currPos s_1)) →
                (Unit → motive String.Slice.SplitInclusiveIterator.atEnd) → motive x