Why *do* borrow and borrow_mut return these, rather than just the pointer they asked for?