Think of It Like a Read-Write Lock
A useful mental model: the borrow checker is a compile-time read-write lock. Many &T borrows = many readers (fine). One &mut T borrow = exclusive writer (no readers allowed). This is exactly why Rust can guarantee no data races without a runtime.