code: func (o *OptionCodes) UnmarshalBinary(p []byte) error {
  	b := uio.NewBigEndianBuffer(p)
  	*o = make(OptionCodes, 0, b.Len())
  	for b.Has(1) {
  		*o = append(*o, dhcp4.OptionCode(b.Read8()))
  	}
  	return b.FinError()
  }
docs: // UnmarshalBinary reads the option code list from binary.