class Hamster::Trie

def filter

def filter
  reduce(self) { |trie, entry| yield(entry) ? trie : trie.delete(entry.key) }
end