<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><blockquote type="cite" class="">On Dec 17, 2015, at 23:50 , Brent Royal-Gordon via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:<br class=""><br class="">I actually think that behavior instances should probably be private, and there should be no way to change that.&nbsp;Behaviors are inherently an implementation detail, and you should not be exposing them directly to users of your&nbsp;type. Instead, you should expose just the operations you expect to be needed through your own calls, which you can&nbsp;reimplement as needed.<br class=""></blockquote><br class="">I'm leaning in this direction too. The idea of exposing the behavior <i class="">itself</i>&nbsp;as a value seems wrong for almost any client. "foo.prop.reset()" is slightly nicer than "foo.resetProp()", but not if it conflicts with a 'reset' that's already on the property type. "<a href="mailto:foo.prop@behavior.reset" class="">foo.prop@behavior.reset</a>()" certainly isn't an improvement.<div class=""><br class=""></div><div class=""><div class="">Jordan</div></div></body></html>