code: func (r *reader) readBytes(n uint32) []byte {
  	// Fast path if we're byte aligned
  	if r.bitCount == 0 {
  		r.pos += n
  		if r.pos > r.size {
  			_panicf("readBytes: insufficient buffer (%d of %d)", r.pos, r.size)
  		}
  		return r.buf[r.pos-n : r.pos]
  	}
  
  	buf := make([]byte, n)
  	for i := uint32(0); i < n; i++ {
  		buf[i] = byte(r.readBits(8))
  	}
  	return buf
  }
docs: // readBytes reads the given number of bytes