code: func completeListValue(eCtx *executionContext, returnType *List, fieldASTs []*ast.Field, info ResolveInfo, path *ResponsePath, result interface{}) interface{} {
  	resultVal := reflect.ValueOf(result)
  	if resultVal.Kind() == reflect.Ptr {
  		resultVal = resultVal.Elem()
  	}
  	parentTypeName := ""
  	if info.ParentType != nil {
  		parentTypeName = info.ParentType.Name()
  	}
  	err := invariantf(
  		resultVal.IsValid() && isIterable(result),
  		"User Error: expected iterable, but did not find one "+
  			"for field %v.%v.", parentTypeName, info.FieldName)
  
  	if err != nil {
  		panic(gqlerrors.FormatError(err))
  	}
  
  	itemType := returnType.OfType
  	completedResults := make([]interface{}, 0, resultVal.Len())
  	for i := 0; i < resultVal.Len(); i++ {
  		val := resultVal.Index(i).Interface()
  		fieldPath := path.WithKey(i)
  		completedItem := completeValueCatchingError(eCtx, itemType, fieldASTs, info, fieldPath, val)
  		completedResults = append(completedResults, completedItem)
  	}
  	return completedResults
  }
docs: // completeListValue complete a list value by completing each item in the list with the inner type