code: func (ot *orderedTree) add(entry Entry) *node {
  	var node *node
  	list := &ot.top
  
  	for i := uint64(1); i <= ot.dimensions; i++ {
  		if isLastDimension(ot.dimensions, i) {
  			overwritten := list.add(
  				newNode(entry.ValueAtDimension(i), entry, false),
  			)
  			if overwritten == nil {
  				ot.number++
  			}
  			return overwritten
  		}
  		node, _ = list.getOrAdd(entry, i, ot.dimensions)
  		list = &node.orderedNodes
  	}
  
  	return nil
  }
docs: // add will add the provided entry to the rangetree and return an
  // entry if one was overwritten.