Hey @houghtonap, thanks for the article. It looks like you’ve got a small bug in your program: const len = text.len; ... const last = if (this.end > len) len else end; return text[first .. last + 1]; If last is equal to text.len, then this will read one index beyond the end of the string. I’d recommend changing those lines to: const last = @min(this.end + 1, text.len); return text[first..last]; Personally, I’d just keep it to non-inclusive ranges to be consistent, but I get that you’r...