ugh <em>interior mutability</em>,
in contrast to the <em>inherited mutability</em> that everything in Rust normally uses.
Cell, RefCell, Mutex, and RWLock are all examples of interior mutability types.
These types provide exclusive access through runtime restrictions.</p>

<p>An interesting case of this effect is Rc itself: if an Rc has refcount 1,
then it is safe to mutate or even move its internals. Note however that the
refcount itself uses interior mutability.</p>

<p>In order to correctly communicate t