code: func (b *Buffer) Write(p []byte) (n int, err error) {
  	m := b.grow(len(p))
  	return copy(b.buf[m:], p), nil
  }
docs: // Write appends the contents of p to the buffer, growing the buffer as
  // needed. The return value n is the length of p; err is always nil. If the
  // buffer becomes too large, Write will panic with bytes.ErrTooLarge.