Fix: cannot borrow as mutable because it is also borrowed as immutable (Rust E0502, E0382, E0505)
How to fix Rust borrow checker errors including 'cannot borrow as mutable because it is also borrowed as immutable', 'use of moved value', 'value used here after move', E0382, E0502, and E0505. Covers ownership, borrowing, clone vs reference, Rc, Arc, RefCell, lifetime annotations, closure captures, and iterator ownership.