Taking myself as an example, while I was (still am) learning Rust and Haskell.
I keep banging my head around borrowing, monads, dereferencing/copying memory.
Yes, it's frustrating, but people way smarter and experienced than me have defined those rules because they allow for much grander designs.
I can question them, but only once I fully understand the details inside out.
Playing by the rules, in fact, taught me to be a better software developer all around.
I may have loved to have a "turn type checker off" or "turn borrow checker off" switch somewhere, at times.
I learned why these type and borrow checkers exist, and turning them off would only have hurt my design in the long run, which my level of experience allows me to understand.
Many developers look at these tools and just want them out of the way, rather than learning to be supported in their day-to-day work by the backing decisions behind these tools.