code: async def load_message(obj, msg_type, msg=None, field_archiver=None):
      
      msg = msg_type() if msg is None else msg
  
      fields = msg_type.f_specs() if msg_type else msg.__class__.f_specs()
      for field in fields:
          await load_message_field(obj, msg, field, field_archiver=field_archiver)
  
      return msg
docs: Loads message if the given type from the object.
      Supports reading directly to existing message.
  
      :param obj:
      :param msg_type:
      :param msg:
      :param field_archiver:
      :return: