/div><div class="comment-content">May also be worth explaining why such a trait wouldn&#39;t take a &amp;mut World parameter in the first place if the problem is so pervasive. E.g. why is a design like<br>trait ClickObserver&lt;W&gt; { fn click(&amp;mut self, world: &amp;mut W) }<br>rejected?<br>(presumably because self is stored within world and without a RefCell we cannot safely get mutable references to both)</div></div><div class="reply-list"><div id="AAAATTv0iTk" class="reply-box"><div class="author-pi