code: def pack_value(self, value):
  
          
  
          if type(value) is tuple:
              return self.to_binary(*value)
          elif isinstance(value, dict):
              return self.to_binary(**value)
          elif isinstance(value, DictWrapper):
              return self.to_binary(**value._data)
          else:
              raise BadDataError('%s is not a tuple or a list' % (value))
docs: This function allows Struct objects to be used in List and
          Object fields.  Each item represents the arguments to pass to
          to_binary, either a tuple, a dictionary or a DictWrapper.