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