anchor.diff:      safelyVisitChildren(functionTypeAliases, visitor);
       safelyVisitChildren(types, visitor);
       safelyVisitChildren(topLevelVariables, visitor);
  +  }
  +
  +  static ClassElement getTypeFromTypes(
  +      String className, List<ClassElement> types) {
  +    for (ClassElement type in types) {
  +      if (type.name == className) {
  +        return type;
  +      }
  +    }
  +    return null;
     }
   }
   
  
positive.code:    * using types provided by [typeProvider].
     */
    void createLoadLibraryFunction(TypeProvider typeProvider) {
      FunctionElementImpl function =
          new FunctionElementImpl(FunctionElement.LOAD_LIBRARY_NAME, -1);
      function.isSynthetic = true;
      function.enclosingElement = this;
      function.returnType = typeProvider.futureDynamicType;
      function.type = new FunctionTypeImpl(function);
      _loadLibraryFunction = function;
    }
  
    @override
  
negative.code: 
    @override
    List<ImportElement> getImportsWithPrefix(PrefixElement prefixElement) {
      return getImportsWithPrefixFromImports(prefixElement, imports);
    }
  
    @override
    ClassElement getType(String className) {
      return getTypeFromParts(className, _definingCompilationUnit, _parts);
    }
  
    /** Given an update to this library which may have added or deleted edges
  