which is then fleshed out with the 5 and 6 entries. After it's done, instead of {foo => [undef,tac,toe]}, it's {foo => [undef,bar,baz]}

The end result is that you lose part of the tree, and no longer get full results from doing rule requests.

You've probably already noticed this one, and I don't yet have enough clue to fix it correctly (I have a feeling it'll require a data structure tweak, and I don't know enough about the module to do it yet). If this was confusing anyone else, I hope I've explained what was happening.

I just learned about Data::Dumper::Deepcopy - useful when Dumper decides that all undefs are actually a reference to the same element. That was confusing, too.