<div dir="ltr">This isn&#39;t a fully formed pitch, and maybe already discussed, but...<div><br></div><div>If we have have optionals and non-optionals, shouldn&#39;t we also have a way to declare that an Array never be empty? It seems like this would naturally lead to more elegant designs.</div><div><br></div><div>Here&#39;s a use-case: </div><div><br></div><div><div><div><span class="gmail-Apple-tab-span" style="white-space:pre">        </span>struct Wavelet {</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                </span>var buff: [Double]</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                </span>var sign: Sign</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                </span>var peak: Double {<br></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                        </span>return buff.find_max()! // &lt;-- Yuck!</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                </span>}</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">        </span>}</div></div><div><br></div><div>In my app, I never want to create an empty &quot;buff&quot; here. If I could declare that the Array always contain at least 1 element, I wouldn&#39;t need to worry about a whole bunch of unwrapping elsewhere in my program. Native ability to do this would also be handy to store chunks of memory, too?</div></div><div><br></div><div>Would this be worthwhile?</div><div><br></div><div><br></div><div><br></div><div><br></div></div>