Is the Rust Borrow Checker overexplained?