How will the compiler enforce that `mutable` is not used for visible mutability? The `Rc` internal mutability is certainly visible, because a destructor can have a side effect and calling `clone` will delay the effect.