code: func NewTrie(options ...Option) *Trie {
  	trie := &Trie{}
  
  	for _, opt := range options {
  		opt(trie)
  	}
  
  	if trie.maxPrefixPerNode <= 0 {
  		trie.maxPrefixPerNode = DefaultMaxPrefixPerNode
  	}
  	if trie.maxChildrenPerSparseNode <= 0 {
  		trie.maxChildrenPerSparseNode = DefaultMaxChildrenPerSparseNode
  	}
  
  	trie.children = newSparseChildList(trie.maxChildrenPerSparseNode)
  	return trie
  }
docs: // Trie constructor.