--14dae9340b2bc653aa04b35af794
Content-Type: text/plain; charset=UTF-8

D'oh! Strike that, it's behaving as expected, it's just hidden beneath an
extra layer of oddness.

>> foo  ash.new(Hash.new)
{}
>> foo[3][2]  rue
true

There's no assignment for the top-level hash. So the default hash object
specified in Hash.new(Hash.new) has been modified, but you can't see it
directly because you don't do, e.g., foo[3]You just need to poke a hole
through, either before or after the fact. Here's after:

>> foo[3]  oo["anything"]
{2rue}
>> foo
{32rue}}

--14dae9340b2bc653aa04b35af794--