{ρ : Type} →
  {pat : ρ} →
    {σ : String.Slice → Type} →
      {motive : String.Slice.Pattern.ToBackwardSearcher pat σ → Sort u} →
        ((toSearcher : (s : String.Slice) → Std.Iter (String.Slice.Pattern.SearchStep s)) →
            motive { toSearcher := toSearcher }) →
          (t : String.Slice.Pattern.ToBackwardSearcher pat σ) → motive t