dict_t*dict_new();
dict_t*dict_new2(type_t*type);
void dict_init(dict_t*dict, int size);
+void dict_init2(dict_t*dict, type_t*type, int size);
dictentry_t*dict_put(dict_t*h, const void*key, void* data);
void dict_put2(dict_t*h, const char*s, void*data);
int dict_count(dict_t*h);
void** heap_flatten(heap_t*h);
void trie_put(trie_t**t, unsigned const char*id);
+char trie_remove(trie_t*t, unsigned const char*id);
int trie_lookup(trie_t*t, unsigned const char*id);
array_t* array_new();