Rc and internal mutability

I don't think that helps -- assuming the implementation of into_raw stays as it. It goes through deref, which returns &T, which is read-only.

So you'll need to adjust into_raw to not go through deref. And if you do that, I think there is no reason to add an UnsafeCell.