I stumbled across the following behaviour that I didn't expect:
let myIndexSet = IndexSet()
let index = myIndexSet[myIndexSet.startIndex] //index = 0
Doing a similar trick with an Array crashes with an out-of-bounds error as I would expect.
Why does IndexSet allow this? Is this expected behaviour that I can rely on? (It's actually quite useful for my situation)