<div dir="ltr">... just to clarify my last comment. <div><br></div><div>Maybe &quot;array.first&quot; and &quot;array.last&quot; is a bad example, since it was probably a design choice to make them &quot;read only&quot;<br><div><br></div></div><div>Here&#39;s a contrived example of what sometimes irritates me:</div><div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><div><b>struct Foo {</b></div></div><div><div><b><span class="" style="white-space:pre">        </span>var point =  CGPoint( x:0, y:0 )</b></div></div><div><div><b><span class="" style="white-space:pre">        </span>var prop: CGPoint {</b></div></div><div><div><b><span class="" style="white-space:pre">                </span>return self.point</b></div></div><div><div><b><span class="" style="white-space:pre">        </span>}</b></div></div><div><div><b>}</b></div></div><div><div><b><br></b></div></div><div><div><b>var foo = Foo()</b></div></div><div><div><b><br></b></div></div><div><div><b>foo.prop.x = 10 // illegal</b></div></div></blockquote><div><div><br></div><div>When I&#39;m writing something like this, it does make me wish I could tell the compiler to send &quot;prop&quot; by reference. If I&#39;m just creating the getter as a convenience to find the correct property (like .first) it&#39;s a bit of a drag to fill out the setter side also.</div></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div>