Rust's borrowchecker, while designed to enforce memory safety by managing ownership rules, often creates significant ergonomic challenges for developers. These challenges arise from its strict compile-time requirements and inability to accurately reason about certain code patterns, leading to frustrating compilation errors that can impede development. The article argues that the borrowchecker's role in ensuring safety is overstated and highlights cases where it unnecessarily rejects valid code.