anchor.diff:        NodeChangeForAsExpression();
   
     @override
  +  NodeChange visitCompilationUnit(CompilationUnit node) =>
  +      NodeChangeForCompilationUnit();
  +
  +  @override
     NodeChange visitDefaultFormalParameter(DefaultFormalParameter node) =>
         NodeChangeForDefaultFormalParameter();
   
  
positive.code:     }
      innerPlans.addAll(aggregator.innerPlansForNode(node));
      return aggregator.planner.passThrough(node, innerPlans: innerPlans);
    }
  }
  
  /// Implementation of [NodeChange] specialized for operating on [AsExpression]
  /// nodes.
  class NodeChangeForAsExpression extends NodeChangeForExpression<AsExpression> {
    /// Indicates whether the cast should be removed.
    bool removeAs = false;
  
    @override
    EditPlan _apply(AsExpression node, FixAggregator aggregator) {
      if (removeAs) {
        return aggregator.planner.extract(node,
            aggregator.planForNode(node.expression) as NodeProducingEditPlan,
            infoAfter:
                AtomicEditInfo(NullabilityFixDescription.removeAs, const []));
      } else {
        return super._apply(node, aggregator);
      }
    }
  }
  
  
negative.code:   }
  }
  
  /// Implementation of [NodeChange] specialized for operating on [AsExpression]
  /// nodes.
  class NodeChangeForAsExpression extends NodeChangeForExpression<AsExpression> {
    /// Indicates whether the cast should be removed.
    bool removeAs = false;
  
    @override
    EditPlan _apply(AsExpression node, FixAggregator aggregator) {
      if (removeAs) {
        return aggregator.planner.extract(node,
            aggregator.planForNode(node.expression) as NodeProducingEditPlan,
            infoAfter:
                AtomicEditInfo(NullabilityFixDescription.removeAs, const []));
      } else {
        return super._apply(node, aggregator);
      }
    }
  }
  
  /// Implementation of [NodeChange] specialized for operating on
  /// [CompilationUnit] nodes.
  class NodeChangeForCompilationUnit extends NodeChange<CompilationUnit> {
    bool removeLanguageVersionComment = false;
  
    NodeChangeForCompilationUnit() : super._();
  
    @override
    EditPlan _apply(CompilationUnit node, FixAggregator aggregator) {
  