To add to this, I find that the delta between the amount of code and pain you get with good and bad abstractions is substantially higher in rust than other languages. It's alright to muddle through in Python or TS, but with Rust bad abstractions are punishing.
LLMs are pretty bad at picking abstractions.
It's good that it's punishing when the abstraction are bad: then you notice. With Python or TS, as you say, you get less feedback.