Erm, ignore my previous comment. This is actually an issue with `Marshal.load`. When `Marshal.load` is called, `respond_to?` is checked on `marshal_load`. At this point, apparently, `@values` has not been set (so `initialize` doesn't seem to have run).

I'm not sure if there are intricacies around `Marshal.load` that I am missing, but will continue to dig into it unless any suggestions come up.