code: func (p *P) Get() *Buffer {
  	buf, ok := p.pool.Get().(*bytes.Buffer)
  	if !ok {
  		buf = &bytes.Buffer{}
  	}
  
  	return &Buffer{
  		Buffer: buf,
  		p:      p,
  	}
  }
docs: // Get returns a Buffer. When the caller is finished with the Buffer, they
  // should call Release to return it to its pool.