<div style="white-space:pre-wrap">Thanks to everyone who responded! Particularly Jose who provided links to the Swift evolution discussion, one of which is still open, though deferred from Swift 3. I&#39;m adding some thoughts to individual contents below, but my original question was answered. <br><br>Jeff, that makes sense after looking more closely at the source. I had incorrectly assumed that the fatal error was happening in Swift code, but I believe it is in the C++. <br><br>Brent, I&#39;ve seen examples like that before, and I think I just might be unable to see the forest for the trees. `map` seems like the clearly better choice for the first two transformations. I haven&#39;t done any Cocoa development, however, so I have no opinion to share there. In general, though it does seem like `enumerated` should be adequate when people want to have guaranteed values. <br><br>Zhou, allowing clients to handle bad accesses would certainly not cause bugs. In the worst case, developers would litter ! around their array accesses, and the same crashes that existed before will continue. The fact that something similar happens in other languages is similarly unconvincing. There are languages where this is not the case (Elm). <br></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Jul 20, 2016 at 10:07 PM H. Kofi Gumbs &lt;<a href="mailto:h.kofigumbs@gmail.com" target="_blank">h.kofigumbs@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px">Hello<span> </span></span><span style="outline:transparent dashed 1px;color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px;background-color:rgba(251,246,167,0.498039)">Swift</span><span style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px"><span> </span>community,</span><div style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px"><br></div><div style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px">Here&#39;s a philosophy I&#39;ve struggled with since I started learning<span> </span><span style="outline:transparent dashed 1px;background-color:rgba(251,246,167,0.498039)">Swift</span>. In general, it seems that failable function calls return `Optional`s; however, `Array`s violate this rule by failing fast at runtime. I understand that subscripts can&#39;t throw, so the only way to fail fast is to do so at runtime. I also realize that there are many implementations of the `array[safe: index]` that I could choose to use instead. However, I do not understand why the default behavior is still to fail at runtime. Especially given how they are often introduced as a beginner-friendly data structure. Am I missing some language philosophy or major decision?</div><div style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px"><br></div><div style="color:rgb(33,33,33);font-family:&quot;helvetica neue&quot;,helvetica,arial,sans-serif;font-size:13px">Thanks</div></div></blockquote></div>