code: func (z *Node) EncodeMsg(en *msgp.Writer) (err error) {
  	// map header, size 4
  	// write "Path"
  	err = en.Append(0x84, 0xa4, 0x50, 0x61, 0x74, 0x68)
  	if err != nil {
  		return
  	}
  	err = en.WriteString(z.Path)
  	if err != nil {
  		err = msgp.WrapError(err, "Path")
  		return
  	}
  	// write "Leaf"
  	err = en.Append(0xa4, 0x4c, 0x65, 0x61, 0x66)
  	if err != nil {
  		return
  	}
  	err = en.WriteBool(z.Leaf)
  	if err != nil {
  		err = msgp.WrapError(err, "Leaf")
  		return
  	}
  	// write "Defs"
  	err = en.Append(0xa4, 0x44, 0x65, 0x66, 0x73)
  	if err != nil {
  		return
  	}
  	err = en.WriteArrayHeader(uint32(len(z.Defs)))
  	if err != nil {
  		err = msgp.WrapError(err, "Defs")
  		return
  	}
  	for za0001 := range z.Defs {
  		err = z.Defs[za0001].EncodeMsg(en)
  		if err != nil {
  			err = msgp.WrapError(err, "Defs", za0001)
  			return
  		}
  	}
  	// write "HasChildren"
  	err = en.Append(0xab, 0x48, 0x61, 0x73, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e)
  	if err != nil {
  		return
  	}
  	err = en.WriteBool(z.HasChildren)
  	if err != nil {
  		err = msgp.WrapError(err, "HasChildren")
  		return
  	}
  	return
  }
docs: // EncodeMsg implements msgp.Encodable