code: func (c scriptFreeList) Borrow(size uint64) []byte {
  	if size > freeListMaxScriptSize {
  		return make([]byte, size)
  	}
  
  	var buf []byte
  	select {
  	case buf = <-c:
  	default:
  		buf = make([]byte, freeListMaxScriptSize)
  	}
  	return buf[:size]
  }
docs: // Borrow returns a byte slice from the free list with a length according the
  // provided size.  A new buffer is allocated if there are any items available.
  //
  // When the size is larger than the max size allowed for items on the free list
  // a new buffer of the appropriate size is allocated and returned.  It is safe
  // to attempt to return said buffer via the Return function as it will be
  // ignored and allowed to go the garbage collector.