The learning curve is much steeper, but if you learn it and truly understand what the compiler is trying to stop you from doing, you'll begin to see all the possible side-effects in other languages.
I recently revisited a Go project that does a bunch of async tasks right after doing a somewhat involved Rust project, and all I could see were foot guns everywhere, even though most of it was considered the idiomatic approach.
I recently revisited a Go project that does a bunch of async tasks right after doing a somewhat involved Rust project, and all I could see were foot guns everywhere, even though most of it was considered the idiomatic approach.