&gt; Most of them are about Rust&#x27;s core guarantee: data race freedom<p>IMO this is just a part of it (and I think you agree, based on previous conversations). The actual thing is that the rules enforce a discipline about data, similar to the discipline in functional languages (except here it&#x27;s allowing sharing XOR mutation instead of forbidding mutation entirely). This discipline gets us many things -- memory safety, safety from iterator invalidation-y things (there&#x27;s a whole class of memory safety bugs that happen when you modify the exterior of a things whilst holding a pointer to the interior -- from iterator invalidation to invalidating pointers to a vector after truncation to invalidating enums), and clarity in code. Whilst the chronology of it&#x27;s design may not be such, I personally look at data race freedom as something we got for free from this discipline, instead of the core focus of it.