code: func (a *IPRangeAllocator) IPRange() *IPRange {
  	a.mutex.Lock()
  	defer a.mutex.Unlock()
  
  	return &IPRange{
  		Start: a.ipRange.Start,
  		End:   a.ipRange.End,
  		Mask:  a.ipRange.Mask,
  	}
  }
docs: // IPRange returns a copy of the IPRange provided to the allocator.