<div>var behaviour computed&lt;Value&gt;: Value {</div><div>    accessor get() -&gt; Value</div><div>    accessor set(newValue: Value) {</div><div>        fatalError()</div><div>    }</div><div><div>    get {</div><div>        return get()</div><div>    }</div><div>    set {</div><div>        set(newValue)</div><div>    }</div><div>}</div><div><br></div><div>There seems to be no way we can disable `set` if `accessor set` is defaulted, based on current property behaviour rules. We could add both @computed and @computedReadOnly, for example.<br><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Behaviors already support read-only getters—you just omit the set {} block.<br>
</blockquote><div><br></div><div>And I&#39;ve just discovered a gaping hole in this design: mutability of `accessor get` cannot be automatically forwarded to `get`. We would have to always declare mutable `get`. Or have @computed, @computedMutable, @computedReadOnly, @computedMutableReadOnly.</div><div><br></div><div>So computed properties should remain untouched for now, I guess.</div></div></div>