Just spent the day wrestling with Rust's borrow checker and I'm convinced it's a necessary evil - yes, it's frustrating, but it's saved me from at least 3 segfaults already.