code: func (dict *Dictionary) Add(word string) (wasAdded bool) {
  	if dict.root == nil {
  		dict.root = &trieNode{}
  	}
  
  	cursor := dict.root
  
  	for len(word) > 0 {
  		if cursor.Children == nil {
  			cursor.Children = make(map[rune]*trieNode)
  		}
  
  		nextLetter := rune(word[0])
  
  		next, ok := cursor.Children[nextLetter]
  		if !ok {
  			next = &trieNode{}
  			cursor.Children[nextLetter] = next
  		}
  		cursor = next
  		word = word[1:]
  	}
  	wasAdded = !cursor.IsWord
  	if wasAdded {
  		dict.size++
  	}
  	cursor.IsWord = true
  	return
  }
docs: // Add inserts a word into the dictionary, and returns whether or not that word was a new word.
  //
  // Time complexity: O(m) where 'm' is the length of word.