code: func (tp *BytePool) Drain() {
  	for o := 0; o < len(tp.list_of_pools); o++ {
  		p := &tp.list_of_pools[o]
  		p.mu.Lock()
  		p.list = make([][]byte, 0, cap(p.list)/2)
  		p.mu.Unlock()
  	}
  }
docs: // Drain removes all items from the pool and make them availabe for garbage
  // collection.