code: func (d *Dtrie) Insert(key, value interface{}) *Dtrie {
  	root := insert(d.root, &entry{d.hasher(key), key, value})
  	return &Dtrie{root, d.hasher}
  }
docs: // Insert adds a key value pair to the Dtrie, replacing the existing value if
  // the key already exists and returns the resulting Dtrie.