>Rust is statically typed. The upside is, you will curse it at compile-time instead of at runtime. The downside is, "exploratory programming" means exploring how to convince the compiler to let you try an idea.
For me, yes you will curse a lot at compile time. But the upside is that stupid, preventable programming errors (which are responsible for a majority of security vulnerabilites) are stopped at compile time, not at segfault time.
We've also found that people generally struggle at first, but at some point, you internalize the rules, and then they click, and you don't fight all that much anymore.
Yes, the first few weeks of Rust, I wanted to strangle the borrow checker. Now, it seldom gets into the way b/c it's a seamless part of my thinking when I'm writing Rust. I rarely hear from it because I wrote/structured things the right way the first time.
This has had a huge impact on pushing my productivity in Rust back up toward, while not Python-ish levels, at least golang-ish levels.