I have nightmares where the borrow checker is shouting at me incomprehensibly about the literal bugs and I shoot them with the clone laser and the borrow checker stops shouting for ten seconds, but now there are two bugs for each original bug and Tim Berners Lee floats by saying it's not very idiomatic and I shouldn't expect to get to work on time if I just keep stopping along the journey to spend all my time cloning the bugs.
Haha. On a more serious note, it gets better over time. I recommend keeping a really functional programming style in Rust and only opt out to imperative programming, when it just makes sense (e.g. to optimize, avoid allocs etc.).
I'd say Rust is currently my most productive programming language, because I mostly avoid the time-consuming debugging part due to the strictness.