intermediate commit - I'm kind of annoyed at the lack of documentation on Rc. It seems like the right thing to do immutable, shared data structures - but I'm not quite sure how to get the syntax right for matching/dereferencing, etc