Don&#x27;t be so quick to say that Rust is doing the &quot;right thing&quot; here.  An early example in the article shows one of the big Rust gotchas: you want to borrow a reference to a part of a structure, but if you encapsulate that in a function which takes a reference to the enclosing structure, the entire enclosing structure is borrowed.  This isn&#x27;t a <i>revealed</i> side effect, this is an <i>invented</i> side effect that is an artifact of the type system.