code: private Map<String, JSType> buildTypeVariables(
        Map<TemplateType, JSType> inferredTypes) {
      Map<String, JSType> typeVars = new LinkedHashMap<>();
      for (Entry<TemplateType, JSType> e : inferredTypes.entrySet()) {
        // Only add the template type that do not have a type transformation
        if (!e.getKey().isTypeTransformation()) {
          typeVars.put(e.getKey().getReferenceName(), e.getValue());
        }
      }
      return typeVars;
    }
docs: Build the type environment where type transformations will be evaluated.
  It only considers the template type variables that do not have a type
  transformation.