It depends on your approach, if you try to learn the idioms as part of the learning process as opposed to just syntax, you can prevent this.
Learning Rust is a good example. Sure, you can learn the borrow checker and other stuff fairly easily. Patterns are fine. Error checking was a bit more iffy before "?".
And then you try to build a doubly linked list and the language fights you at every single turn. (for good reason, but it fights you nonetheless).
Nobody expects that. That's the kind of thing that languages often aren't good at documenting.
I feel like this comes from the fact that while languages are extremely easy to bend into a shape that fits the problem and take a long time to learn so it's often easier for programmers to put out a bad solution instead trying to get the problem and the language to meet in the middle.