code: def to_bytes(self):
          '''
          Takes a list of IPOption objects and returns a packed byte string
          of options, appropriately padded if necessary.
          '''
          raw = b''
          if not self._options:
              return raw
          for ipopt in self._options:
              raw += ipopt.to_bytes()
          padbytes = 4 - (len(raw) % 4)
          raw += b'\x00'*padbytes
          return raf to_bytes(self):
          '''
          Takes a list of IPOption objects and returns a packed byte string
          of options, appropriately padded if necessary.
          '''
          raw = b''
          if not self._options:
              return raw
          for ipopt in self._options:
              raw += ipopt.to_bytes()
          padbytes = 4 - (len(raw) % 4)
          raw += b'\x00'*padbytes
          return raw
docs: Takes a list of IPOption objects and returns a packed byte string
          of options, appropriately padded if necessary.