<div dir="ltr">+1<div><br></div><div>&gt; Also, technically we can assign a value to Void function<div>This proposal will not disallow that. Just non-Void functions will be preferred when result is used.</div><div><pre style="white-space:pre-wrap;color:rgb(0,0,0)">array.sort(..) // mutating
let array2 = array.sort(..) // non-mutating, instead of array.sorted()</pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif">I think, that&#39;s actually the best solution to mutating / non-mutating convention!</font></pre></div><div>Andrew, why not generalize this proposal to functions with @unusedResult?</div><div><br></div><div>In terms of &quot;precedence&quot; when result is used:</div><div>Non-Void &gt; @unusedResult &gt; Void (+warning)</div><div><br></div><div>When unused:</div><div>Void &gt; @unusedResult &gt; Non-Void (+warning)</div><div><br></div><div>- Anton</div></div></div>