code: func (o Options) MarshalBinary() ([]byte, error) {
  	b := buffer.New(nil)
  	for _, code := range o.sortedCodes() {
  		for _, data := range o[code] {
  			// 2 bytes: option code
  			b.Write16(uint16(code))
  
  			// 2 bytes: option length
  			b.Write16(uint16(len(data)))
  
  			// N bytes: option data
  			b.WriteBytes(data)
  		}
  	}
  	return b.Data(), nil
  }
docs: // MarshalBinary allocates a buffer and writes options in their DHCPv6 binary
  // format into the buffer.