code: func (z *MessageExt) MarshalMsg(b []byte) (o []byte, err error) {
  	o = msgp.Require(b, z.Msgsize())
  	// array header, size 4
  	o = append(o, 0x94)
  	o = msgp.AppendString(o, z.Tag)
  	o, err = msgp.AppendExtension(o, &z.Time)
  	if err != nil {
  		err = msgp.WrapError(err, "Time")
  		return
  	}
  	o, err = msgp.AppendIntf(o, z.Record)
  	if err != nil {
  		err = msgp.WrapError(err, "Record")
  		return
  	}
  	o = msgp.AppendMapHeader(o, uint32(len(z.Option)))
  	for za0001, za0002 := range z.Option {
  		o = msgp.AppendString(o, za0001)
  		o = msgp.AppendString(o, za0002)
  	}
  	return
  }
docs: // MarshalMsg implements msgp.Marshaler