code: func NewPool(New func() Buffer) Pool {
  	return &pool{
  		pool: sync.Pool{
  			New: func() interface{} {
  				return New()
  			},
  		},
  	}
  }
docs: // NewPool returns a Pool(), it's backed by a sync.Pool so its safe for concurrent use.
  // Get() and Put() errors will always be nil.
  // It will not work with gob.