Implemented Trie (with spec)