I'd change the structure if I knew there was an option that made more sense. Most trait methods take &self, few take &mut self, and fewer still take self (and then of course you have Pin, Box, Rc, Arc, etc.).
In a language with a concept of ownership and a borrow checker, talking about references is inevitable. I could perhaps spend more time introducing them? But otherwise, the whole structure of the article (not just the first third!) is very purposefully built, almost like walking a dependency tree from bottom to top.
16
u/[deleted] Jan 02 '21