code: func (dp *DHCPPool) ReserveIPIndex(index uint64, mac string) (error, string) {
  	dp.lock.Lock()
  	defer dp.lock.Unlock()
  
  	if index >= dp.capacity {
  		return errors.New("Trying to reserve an IP that is outside the capacity of this pool"), FreeMac
  	}
  
  	if _, free := dp.free[index]; free {
  		delete(dp.free, index)
  		dp.mac[index] = mac
  		return nil, mac
  	} else {
  		return errors.New("IP is already reserved"), FreeMac
  	}
  }
docs: // Reserves an IP in the pool, returns an error if the IP has already been reserved