All the GC implementations I&#x27;ve seen in Rust use unsafe code, and I <i>really</i> wanted to avoid it.  I struggled a bit with some of the RefCell stuff, but the folks on #rust were really helpful. I&#x27;m still not sure that a practical GC can be implemented without unsafe, given that RefCells can&#x27;t be recursively borrowed (so as soon as you have mutable recursive data structures, you have to find some way to work around the RefCell limitation that the contents can only be mutably borrowed once). I wonder if it wouldn&#x27;t be nice to have something similar to a RefCell that allows multiple mutable borrows, which I think would be safe (only) if the application is single-threaded. Or perhaps a variant that mutably borrows only non-RefCell bits of the contents, leaving the nested RefCell free to be mutably borrowed.<p>Thanks for your feedback :)  I&#x27;d had it sitting there for a while with no idea if it was any good or not.