code: func makeCompoundMessage(msgs [][]byte) *bytes.Buffer {
  	// Create a local buffer
  	buf := bytes.NewBuffer(nil)
  
  	// Write out the type
  	buf.WriteByte(uint8(compoundMsg))
  
  	// Write out the number of message
  	buf.WriteByte(uint8(len(msgs)))
  
  	// Add the message lengths
  	for _, m := range msgs {
  		binary.Write(buf, binary.BigEndian, uint16(len(m)))
  	}
  
  	// Append the messages
  	for _, m := range msgs {
  		buf.Write(m)
  	}
  
  	return buf
  }
docs: // makeCompoundMessage takes a list of messages and generates
  // a single compound message containing all of them