anchor.diff:                  internalError('Unreachable case');
                 }
               } else {
  -              assert(definition is Identifier);
  +              assert(definition is Identifier
  +                  || definition is FunctionExpression);
               }
             }
           } else {
  
positive.code:   void makePrivateIdentifier(Identifier node) {
      assert(node !== null);
      privateNodes.putIfAbsent(
          currentElement.getLibrary(), () => new Set<Node>()).add(node);
    }
  
    void makeUnresolvedPlaceholder(Node node) {
  
negative.code:       unresolvedNodes = new Set<Identifier>(),
        elementNodes = new Map<Element, Set<Node>>(),
        localPlaceholders = new Map<FunctionElement, Set<LocalPlaceholder>>(),
        privateNodes = new Map<LibraryElement, Set<Identifier>>();
  
    void collectFunctionDeclarationPlaceholders(
        FunctionElement element, FunctionExpression node) {
  