>it "just requires" you to flawlessly uphold memory access invariants manually across all possible concurrent states of your program.
The difference is it doesn't prevent you so it doesn't "just require"
The difference is it doesn't prevent you so it doesn't "just require"
Seriously, I'm begging people to try writing a program that uses ordinary threads in Rust via `std::thread::scope`, it's eye-opening how lovely thread-based concurrency is when you have modern tools at your disposal.