anchor.diff:  
     UnparseValidator(Compiler compiler, this.validateUnparse) : super(compiler);
   
  -  void check(Element element) {
  -    if (!validateUnparse) return;
  -
  -    // TODO(antonm): consider supporting other kinds of elements.
  -    if (element is! PartialFunctionElement) return;
  -
  -    PartialFunctionElement originalFunction = element;
  +  void checkFunction(PartialFunctionElement originalFunction) {
       FunctionExpression originalNode = originalFunction.parseNode(compiler);
       String unparsed = originalNode.unparse();
   
  
positive.code:         parser.findGetOrSet(parser.parseModifiers(newTokens));
  
      // TODO(ahe): This is also too frigging complicated.
      Script originalScript = element.getCompilationUnit().script;
      String name = SourceSpan.withOffsets(
          originalFunction.beginToken, originalFunction.endToken,
          (beginOffset, endOffset) =>
  
negative.code:     FunctionExpression newNode = listener.popNode();
      // TODO(antonm): add Node comparison.
    }
  
    void check(Element element) {
      if (!validateUnparse) return;
  
      if (element is PartialFunctionElement) {
        checkFunction(element);
      } else if (element.isGenerativeConstructor()) {
        assert(element is FunctionElement);
        // Generative constructors parse to very special function expressions.
        // Handle them when classes are properly handled.
      } else if (element.isField()) {
        assert(element is VariableElement);
        // Fields are just names with possible initialization expressions.
        // Nothing to care about for now.
      } else {
        compiler.cancel('Cannot handle $element', element: element);
      }
    }
  }
  