code: func (z *Node) MarshalMsg(b []byte) (o []byte, err error) {
  	o = msgp.Require(b, z.Msgsize())
  	// map header, size 4
  	// string "id"
  	o = append(o, 0x84, 0xa2, 0x69, 0x64)
  	o = msgp.AppendBytes(o, []byte(z.ID))
  	// string "il"
  	o = append(o, 0xa2, 0x69, 0x6c)
  	o = msgp.AppendBool(o, z.IsLeaf)
  	// string "cv"
  	o = append(o, 0xa2, 0x63, 0x76)
  	o = msgp.AppendArrayHeader(o, uint32(len(z.ChildValues)))
  	for cmr := range z.ChildValues {
  		o, err = msgp.AppendIntf(o, z.ChildValues[cmr])
  		if err != nil {
  			return
  		}
  	}
  	// string "ck"
  	o = append(o, 0xa2, 0x63, 0x6b)
  	o = msgp.AppendArrayHeader(o, uint32(len(z.ChildKeys)))
  	for ajw := range z.ChildKeys {
  		if z.ChildKeys[ajw] == nil {
  			o = msgp.AppendNil(o)
  		} else {
  			o, err = z.ChildKeys[ajw].MarshalMsg(o)
  			if err != nil {
  				return
  			}
  		}
  	}
  	return
  }
docs: // MarshalMsg implements msgp.Marshaler