Is it a requirement that collections share indices with its subsequence? Array and ArraySlice do share indices, which is why ArraySlice isn’t zero-based, and I think this is convenient. But String.CharacterView doesn’t seem to share indices with its subsequence (which is String.CharacterView as well). Consider this example:
let foo = "foobar".characters
let index = foo.index(foo.startIndex, offsetBy: 3)
let bar = foo.suffix(from: index) // "bar"
foo[index] // "b"
foo[bar.startIndex] // "f"
So does this mean that we can’t assume that collections and their subsequences share their indices (which could be very handy), or is this just a bug related to String.CharacterView?