Takes a list of ICMPv6Option objects and returns a packed byte string
        of options, appropriately padded if necessary.

def to_bytes(self):
        '''
        Takes a list of ICMPv6Option objects and returns a packed byte string
        of options, appropriately padded if necessary.
        '''
        raw = b''
        if not self._options:
            return raw
        for icmpv6popt in self._options:
            raw += icmpv6popt.to_bytes()
        # Padding doesn't seem necessary?
        #   RFC states it should be padded to 'natural 64bit boundaries'
        #   However, wireshark interprets \x00 as a malformed option field
        #   So for now, ignore padding
        # padbytes = 4 - (len(raw) % 4)
        # raw += b'\x00'*padbytes
        return raw