class Hamster::Hash
def derive_new_hash(trie)
The new `Hash` will retain the existing default block, if there is one.
Return a new `Hash` which is derived from this one, using a modified {Trie}.
def derive_new_hash(trie) if trie.equal?(@trie) self elsif trie.empty? if @default self.class.alloc(EmptyTrie, @default) else self.class.empty end else self.class.alloc(trie, @default) end end