In my experience a while back when writing socket / IO code, I thought Rust was safer because standard library functions in Haskell (and other languages I experimented around with) could throw unchecked exceptions/errors.
Never mind about data races :).