code: func (n *Node) delete(comparator Comparator, key *Key) *Key {
  	i := n.search(comparator, key.Value)
  	if i == len(n.ChildValues) {
  		return nil
  	}
  
  	n.deleteValueAt(i)
  	n.deleteKeyAt(i)
  
  	return key
  }
docs: // delete removes the provided key from the node and returns any key that
  // was deleted.  Returns nil of the key could not be found.