docs: def submit_msql_object_query(object_query, client=None):
      """Submit `object_query` to MemberSuite, returning
      .models.MemberSuiteObjects.
  
      So this is a converter from MSQL to .models.MemberSuiteObjects.
  
      Returns query results as a list of MemberSuiteObjects.
  
      """
      client = client or get_new_client()
      if not client.session_id:
          client.request_session()
  
      result = client.execute_object_query(object_query)
      execute_msql_result = result["body"]["ExecuteMSQLResult"]
  
      membersuite_object_list = []
  
      if execute_msql_result["Success"]:
  
          result_value = execute_msql_result["ResultValue"]
  
          if result_value["ObjectSearchResult"]["Objects"]:
              # Multiple results.
              membersuite_object_list = []
              for obj in (result_value["ObjectSearchResult"]["Objects"]
                          ["MemberSuiteObject"]):
                  membersuite_object = membersuite_object_factory(obj)
                  membersuite_object_list.append(membersuite_object)
          elif result_value["SingleObject"]["ClassType"]:
              # Only one result.
              membersuite_object = membersuite_object_factory(
                  execute_msql_result["ResultValue"]["SingleObject"])
              membersuite_object_list.append(membersuite_object)
          elif (result_value["ObjectSearchResult"]["Objects"] is None and
                result_value["SingleObject"]["ClassType"] is None):
              raise NoResultsError(result=execute_msql_result)
  
          return membersuite_object_list
  
      else:
          # @TODO Fix - exposing only the first of possibly many errors here.
          raise ExecuteMSQLError(result=execute_msql_result)