code: func (rt *skipListRT) deleteRecursive(sl *skip.SkipList, dimension uint64,
  	entry rangetree.Entry) rangetree.Entry {
  
  	value := entry.ValueAtDimension(dimension)
  	if isLastDimension(dimension, rt.dimensions) {
  		entries := sl.Delete(skipEntry(value))
  		if entries[0] == nil {
  			return nil
  		}
  
  		rt.number--
  		return entries[0].(*lastBundle).entry
  	}
  
  	db, ok := sl.Get(skipEntry(value))[0].(*dimensionalBundle)
  	if !ok { // value was not found
  		return nil
  	}
  
  	result := rt.deleteRecursive(db.sl, dimension+1, entry)
  	if result == nil {
  		return nil
  	}
  
  	if db.sl.Len() == 0 {
  		sl.Delete(db)
  	}
  
  	return result
  }
docs: // deleteRecursive is used by the delete logic.  The recursion depth
  // only goes as far as the number of dimensions, so this shouldn't be an
  // issue.