Data should never be aliased and mutated at the same time. Boxes are not allowed to be aliased. References are meant to be aliased: the pointer safety principle is ensured via the borrow checker.