∀ {l m r : List Char} (motive : (x : Substring.Raw) → Substring.Raw.ValidFor l m r x → Prop) (x : Substring.Raw)
  (x_1 : Substring.Raw.ValidFor l m r x),
  (∀ (a : Unit),
      motive
        { str := String.ofList (l ++ m ++ r), startPos := { byteIdx := String.utf8Len l },
          stopPos := { byteIdx := String.utf8Len l + String.utf8Len m } }
        ⋯) →
    motive x x_1