anchor.diff:     * 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;
  +    _loadLibraryFunction =
  +        createLoadLibraryFunctionForLibrary(typeProvider, this);
     }
   
     @override
  
positive.code: 
    @override
    List<ImportElement> getImportsWithPrefix(PrefixElement prefixElement) {
      var imports = this.imports;
      int count = imports.length;
      List<ImportElement> importList = new List<ImportElement>();
      for (int i = 0; i < count; i++) {
        if (identical(imports[i].prefix, prefixElement)) {
          importList.add(imports[i]);
        }
      }
      return importList;
    }
  
    @override
    ClassElement getType(String className) {
      ClassElement type = _definingCompilationUnit.getType(className);
      if (type != null) {
        return type;
      }
      for (CompilationUnitElement part in _parts) {
        type = part.getType(className);
        if (type != null) {
          return type;
        }
      }
      return null;
    }
  
    /** Given an update to this library which may have added or deleted edges
  
negative.code:       return getImpl(element.actualElement);
      }
      return element as LibraryElementImpl;
    }
  
    static List<ImportElement> getImportsWithPrefixFromImports(
        PrefixElement prefixElement, List<ImportElement> imports) {
      int count = imports.length;
      List<ImportElement> importList = new List<ImportElement>();
      for (int i = 0; i < count; i++) {
        if (identical(imports[i].prefix, prefixElement)) {
          importList.add(imports[i]);
        }
      }
      return importList;
    }
  
    static ClassElement getTypeFromParts(
        String className,
        CompilationUnitElement definingCompilationUnit,
        List<CompilationUnitElement> parts) {
      ClassElement type = definingCompilationUnit.getType(className);
      if (type != null) {
        return type;
      }
      for (CompilationUnitElement part in parts) {
        type = part.getType(className);
        if (type != null) {
          return type;
        }
      }
      return null;
    }
  
    /**
  