<p>Okay. Here is a question. Would you (reading this) agree that Rc<RefCell<>> is redundant, and in this case Rc<Cell<>> makes more sense? Since Rc<> is !Send, it seems to me that the additional protections in RefCell<> are wildly unnecessary and protecting against a case that cannot happen, since only one thread could possibly access the variable at a time. But Cell only works with Copy types, so apparently the Rust language design folks disagree.</p>