code: func (ipp *intPoolPool) get() *intPool {
  	ipp.lock.Lock()
  	defer ipp.lock.Unlock()
  
  	if len(poolOfIntPools.pools) > 0 {
  		ip := ipp.pools[len(ipp.pools)-1]
  		ipp.pools = ipp.pools[:len(ipp.pools)-1]
  		return ip
  	}
  	return newIntPool()
  }
docs: // get is looking for an available pool to return.