{l m r : List Char} →
  {motive : (a : Substring.Raw) → Substring.Raw.ValidFor l m r a → Sort u} →
    {a : Substring.Raw} →
      (t : Substring.Raw.ValidFor l m r a) →
        motive
            { str := String.ofList (l ++ m ++ r), startPos := { byteIdx := String.utf8Len l },
              stopPos := { byteIdx := String.utf8Len l + String.utf8Len m } }
            ⋯ →
          motive a t