anchor.diff:    }
   
     void _updateReferences() {
  -    js.Expression loadTypeCall(TypeRecipe recipe) {
  -      FunctionEntity helperElement = _commonElements.findType;
  +    js.Expression helperAccess =
  +        _emitter.staticFunctionAccess(_commonElements.findType);
  +
  +    js.Expression loadTypeCall(TypeRecipe recipe, String helperLocal) {
         js.Expression recipeExpression =
             _recipeEncoder.encodeGroundRecipe(_emitter, recipe);
  -      js.Expression helper = _emitter.staticFunctionAccess(helperElement);
  -      return js.js(r'#(#)', [helper, recipeExpression]);
  +      return js.js(r'#(#)', [helperLocal ?? helperAccess, recipeExpression]);
       }
   
       // Emit generate-at-use references.
       for (_ReferenceSet referenceSet in _referencesByRecipe.values) {
         if (referenceSet.generateAtUse) {
           TypeRecipe recipe = referenceSet.recipe;
  -        js.Expression reference = loadTypeCall(recipe);
  +        js.Expression reference = loadTypeCall(recipe, null);
           for (TypeReference ref in referenceSet._references) {
             ref.value = reference;
           }
  
positive.code:     // Sort by name (which is unique and mostly stable) so that similar recipes
      // are grouped together.
      referenceSetsUsingProperties.sort((a, b) => a.name.compareTo(b.name));
  
      List<js.Property> properties = [];
      for (_ReferenceSet referenceSet in referenceSetsUsingProperties) {
        TypeRecipe recipe = referenceSet.recipe;
        var propertyName = js.string(referenceSet.propertyName);
        properties.add(js.Property(propertyName, loadTypeCall(recipe)));
        var access = js.js('#.#', [typesHolderLocalName, propertyName]);
        for (TypeReference ref in referenceSet._references) {
          ref.value = access;
        }
      }
      var initializer = js.ObjectInitializer(properties, isOneLiner: false);
  
      var function = js.js(r'function rtii(){return #}', initializer);
      _resource.value = js.js(r'var # = #()', [
        js.VariableDeclaration(typesHolderLocalName),
        js.Parentheses(function)
      ]);
    }
  
    // This is a top-level local name in the generated JavaScript top-level
  
negative.code:     show $0, $9, $A, $Z, $_, $a, $z;
  
  import '../common_elements.dart' show CommonElements;
  import '../elements/types.dart';
  import '../js/js.dart' as js;
  import '../js_emitter/code_emitter_task.dart' show Emitter;
  