anchor.diff:      }
     }
   
  -  TreeNode defaultTreeNode(TreeNode node) => node;
  -
     static void _clearParameterInitializers(FunctionNode function) {
       for (var parameter in function.positionalParameters) {
         parameter.initializer = null;
  
positive.code:   void writeAdditionalExports(List<Reference> additionalExports) {
      super.writeAdditionalExports(
          insideIncludedLibrary ? additionalExports : const <Reference>[]);
    }
  
    @override
  
negative.code:   }
  }
  
  /// A helper visitor used to mark transitive types by the [_RetainedDataBuilder].
  class _TypeMarker extends DartTypeVisitor {
    _RetainedDataBuilder data;
  
    _TypeMarker(this.data);
  
    visitFunctionType(FunctionType node) {
      node.typeParameters.forEach((t) => t.bound.accept(this));
      node.positionalParameters.forEach((t) => t.accept(this));
      node.namedParameters.forEach((t) => t.type.accept(this));
      node.returnType.accept(this);
      data.markTypedef(node.typedefReference?.asTypedef);
    }
  
    visitInterfaceType(InterfaceType node) {
      data.markClass(node.classNode);
      node.typeArguments.forEach((t) => t.accept(this));
    }
  
    visitTypedefType(TypedefType node) {
      node.typeArguments.forEach((t) => t.accept(this));
    }
  
    visitTypeParameterType(TypeParameterType node) {
      // Note: node.parameter is marked by marking the enclosing element.
    }
  }
  