anchor.diff:    bool get isStatic => ast.isStatic;
     bool get isSynthetic => ast.isSynthetic;
       
  +  dynamic accept(ElementVisitor visitor) => visitor.visitMethodElement(this);
  +
     MethodElement(MethodDeclaration this.ast, ClassElement classDecl): super(classDecl);
   }
   
  
positive.code: class FunctionElement extends Block implements Element {
    SourceElement source;
    FunctionDeclaration ast;
    
    FunctionElement(FunctionDeclaration this.ast, SourceElement this.source);
  }
  
negative.code:   SourceElement(Source this.source, CompilationUnit this.ast);
    
    void addImport(Source source) => imports.add(source);
    void addExport(Source source) => exports.add(source);
    void addPart(Source source) => parts.add(source);
    void addPartOf(Source source) => partOf.add(source);
    void addClass(ClassElement classDecl) => classes.add(classDecl);
    void addFunction(FunctionElement func) => functions.add(func);
    dynamic accept(ElementVisitor visitor) => visitor.visitSourceElement(this);
  }
  
  class ClassElement implements Element{
  