anchor.diff:    @override
     ExecutionStatus visitIfStatement(IfStatement node) {
       Constant condition = evaluate(node.condition);
  -    if (condition is AbortConstant) return new ReturnStatus(condition);
  +    if (condition is AbortConstant) return new AbortStatus(condition);
       if (condition is BoolConstant) {
         if (condition.value) {
           return node.then.accept(this);
  
positive.code:   ReturnStatus(this.value);
  }
  
  /// An intermediate result that is used within the [ConstantEvaluator].
  class IntermediateValue implements Constant {
    dynamic value;
  
negative.code:   @override
    ExecutionStatus visitExpressionStatement(ExpressionStatement node) {
      Constant value = evaluate(node.expression);
      if (value is AbortConstant) return new AbortStatus(value);
      return const ProceedStatus();
    }
  
  