Because ChunkedByCount is declared that way, hinging its BidirectionalCollection conformance on its base’s RandomAccessCollection conformance. (Earlier I thought you were using the Chunked type, which is not constrained as tightly.)
Maybe. What exactly did the original error message say?
I didn't see .last in the auto complete list. So I didn't even try using .last. But had I just call .last and the error message clearly tells me what's going on:
Referencing property 'last' on 'ChunkedByCount' requires that 'Self' conform to 'RandomAccessCollection'
So it's my own fault (I think).
Edit: maybe the auto complete can be a bit more "helpful" and offer addition choices like .last and say "if 'Self' conform to "such and such"..."