Shorthand for Offsetting startIndex and endIndex

Perhaps you could show a larger set of before/after examples that demonstrate the improvement in usability? The improvement is not very clear yet.

Going back to your original motivation, you've ended up replacing this:

let m1 = s[...s.index(s.startIndex, offsetBy: 4)]

with this (including unfortunate but necessary parentheses):

let m2 = s[offset: ...(s.startIndex + 4)]

That example is not obviously a big win, is it?

If there was a practical way of getting something like this, in the general case:

let m3 = s[...s.startIndex.offset(by: 4)]

it starts to look convincing, I think. (cf. advanced(by:))

(Also, your last-posted code yielded compile-time ambiguities in a number of examples I tried.)