anchor.diff:  class ExpressionBuilder extends ExpressionVisitor<int> {
     final Builder builder;
     final Environment environment;
  +  final StatementBuilder statementBuilder;
   
     ConstraintSystem get constraints => builder.constraints;
     Visualizer get visualizer => builder.visualizer;
     FieldNames get fieldNames => builder.fieldNames;
   
  -  ExpressionBuilder(this.builder, this.environment);
  +  ExpressionBuilder(this.builder, this.statementBuilder, this.environment);
   
     int build(Expression node) {
       int variable = node.accept(this);
  
positive.code:     return build(node.body);
    }
  
    int buildInnerFunction(FunctionNode node, {VariableDeclaration self}) {
      int variable = builder.newFunction(node);
      if (self != null) {
  
negative.code:     var environment = new Environment(this, null, field);
      int initializer = field.initializer == null
          ? nullNode
          : new StatementBuilder(this, environment)
              .buildExpression(field.initializer);
      environment.addAssign(initializer, getSharedFieldVariable(field));
    }
  
  