code: def complete_list_value(
          self,
          return_type: GraphQLList[GraphQLOutputType],
          field_nodes: List[FieldNode],
          info: GraphQLResolveInfo,
          path: ResponsePath,
          result: Iterable[Any],
      ) -> AwaitableOrValue[Any]:
          
          if not isinstance(result, Iterable) or isinstance(result, str):
              raise TypeError(
                  "Expected Iterable, but did not find one for field"
                  f" {info.parent_type.name}.{info.field_name}."
              )
  
          # This is specified as a simple map, however we're optimizing the path where
          # the list contains no coroutine objects by avoiding creating another coroutine
          # object.
          item_type = return_type.of_type
          awaitable_indices: List[int] = []
          append_awaitable = awaitable_indices.append
          completed_results: List[Any] = []
          append_result = completed_results.append
          for index, item in enumerate(result):
              # No need to modify the info object containing the path, since from here on
              # it is not ever accessed by resolver functions.
              field_path = add_path(path, index)
              completed_item = self.complete_value_catching_error(
                  item_type, field_nodes, info, field_path, item
              )
  
              if isawaitable(completed_item):
                  append_awaitable(index)
              append_result(completed_item)
  
          if not awaitable_indices:
              return completed_results
  
          # noinspection PyShadowingNames
          async def get_completed_results():
              for index, result in zip(
                  awaitable_indices,
                  await gather(
                      *(completed_results[index] for index in awaitable_indices)
                  ),
              ):
                  completed_results[index] = result
              return completed_results
  
          return get_completed_results()
docs: Complete a list value.
  
          Complete a list value by completing each item in the list with the inner type.