Мне кажется, что array[index]
должен возвращать необязательный, учитывая, что индекс может быть вне границ.
Это позволит использовать код, например:
if let object = array[index] {
// Do stuff
}
Это легко сделать с помощью метода расширения, но зная реальную причину, почему это так, было бы полезно знать.