anchor.diff:  }
   
   class FunctionExpr extends Expression {
  -  List<FnParam> params;
  -  List<Statement> statements;
  +  final List<FnParam> params;
  +  final List<Statement> statements;
   
     FunctionExpr(this.params, this.statements, [OutputType type = null])
         : super(type);
  
positive.code: }
  
  class BinaryOperatorExpr extends Expression {
    BinaryOperator operator;
    Expression rhs;
    Expression lhs;
    BinaryOperatorExpr(this.operator, Expression lhs, this.rhs,
        [OutputType type = null])
        : super(type ?? lhs.type) {
      this.lhs = lhs;
    }
    dynamic visitExpression(ExpressionVisitor visitor, dynamic context) {
      return visitor.visitBinaryOperatorExpr(this, context);
    }
  }
  
  class ReadPropExpr extends Expression {
    Expression receiver;
    String name;
  
    ReadPropExpr(this.receiver, this.name, [OutputType type = null])
        : super(type);
  
negative.code: }
  
  class NotExpr extends Expression {
    final Expression condition;
    NotExpr(this.condition) : super(BOOL_TYPE);
  
    dynamic visitExpression(ExpressionVisitor visitor, dynamic context) {
  