code: func (p *Packet) append(typ byte, b []byte) error {
  	if p.Len()+1+1+len(b) > MaxEIRPacketLength {
  		return ErrNotFit
  	}
  	p.b = append(p.b, byte(len(b)+1))
  	p.b = append(p.b, typ)
  	p.b = append(p.b, b...)
  	return nil
  }
docs: // appends appends a field to the packet. It returns ErrNotFit if the field
  // doesn't fit into the packet, and leaves the packet intact.