I'm not sure if it is possible to remove our usage of `Rc` or not. But I'd like to try again now that I understand things better.