code: Node createEmptyAsyncGeneratorWrapperArgument(JSType asyncGeneratorWrapperType) {
      JSType generatorType = null;
  
      if (isAddingTypes()) {
        if (asyncGeneratorWrapperType.isUnknownType()) {
          // Not injecting libraries?
          generatorType =
              registry.createFunctionType(
                  replaceTemplate(getNativeType(JSTypeNative.GENERATOR_TYPE), unknownType));
        } else {
          // Generator<$jscomp.AsyncGeneratorWrapper$ActionRecord<number>>
          JSType innerFunctionReturnType =
              Iterables.getOnlyElement(
                  asyncGeneratorWrapperType.toMaybeFunctionType().getParameterTypes());
          generatorType = registry.createFunctionType(innerFunctionReturnType);
        }
      }
  
      return createEmptyGeneratorFunction(generatorType);
    }
docs: Creates an empty generator function with the correct return type to be an argument to
  $jscomp.AsyncGeneratorWrapper.
  
  @param asyncGeneratorWrapperType the specific type of the $jscomp.AsyncGeneratorWrapper with
  its template filled in. Should be the type on the node returned from
  createAsyncGeneratorWrapperReference.