marshaller.go
func (m *Marshaller) MarshalRaw(bs []byte) {
	if m.Error != nil {
		return
	}
	if len(m.Data) < m.offset+len(bs) {
		m.Error = io.ErrShortBuffer
		return
	}

	m.offset += copy(m.Data[m.offset:], bs)
}
func (m *Marshaller) MarshalRaw(bs []byte) {
	if m.Error != nil {
		return
	}
	if len(m.Data) < m.offset+len(bs) {
		m.Error = io.ErrShortBuffer
		return
	}

	m.offset += copy(m.Data[m.offset:], bs)
}
// MarshalRaw copies the raw bytes to the buffer, without a size prefix or
// padding. This is suitable for appending data already in XDR format from
// another source.