//@ Clearly, if we had used `RefCell` rather than `Mutex`, the code above could not work: `RefCell` is not prepared for
//@ multiple threads trying to access the data at the same time. How does Rust make sure that we don't accidentally use
//@ `RefCell` across multiple threads?
//@
//@ In part 13, we talked about types that are marked `Send` and thus can be moved to another thread. However, we did *not*
//@ talk about the question whether a borrow is `Send`. For `&mut T`, the answer is: It is `Send` whenever `T` is send.
//@ Clearly, if we had used `RefCell` rather than `Mutex`, the code above could not work: `RefCell` is not prepared for
//@ multiple threads trying to access the data at the same time. How does Rust make sure that we don't accidentally use
//@ `RefCell` across multiple threads?
//@
//@ In part 13, we talked about types that are marked `Send` and thus can be moved to another thread. However, we did *not*
//@ talk about the question whether a borrow is `Send`. For `&mut T`, the answer is: It is `Send` whenever `T` is send.