2. How is (c) better for calculating range size if you're using 1-based?
3. "But how do you have two adjacent ranges when they both have the same starting position?" What do you mean?
Consider the length n prefix of a sequence. With 1-indexing, for n = 0, we have sequence[1:0], which means
a. The end position is before the start position (?!).
b. We have to use 0 anyway.