func (b *builder) Grow(n int) []byte {
	pos := len(b.buf)
	b.buf = append(b.buf, make([]byte, n)...)
	return b.buf[pos:]
}
Grow the buffer by n bytes and return a slice holding the new area.
The slice is only valid until the next method called on the builder.
package esio
type builder struct {
	buf []byte
}
func (b *builder) Bytes() []byte {
	return b.buf
}