anchor.diff:  abstract class Ast {
     static int ctr = 0;
     String name = "f${ctr++}";
  +  int get minWidth;
  +  int get maxWidth;
   
     // Prints the dot-file (graphviz) output for each AST node.
     void dump() {
  
positive.code: abstract class BinaryAst extends Ast {
    BinaryAst(this.l, this.r);
    Ast l, r;
  
    void dump() {
      super.dump();
  
negative.code:     ast.alloc(state);
    }
    bool isAnchored() => min > 0 && ast.isAnchored();
    int get minWidth {
      if (min == 0) return 0;
      return super.minWidth;
    }
    int get maxWidth {
      if (max == null) {
        if (super.maxWidth == 0) return 0;
        return null;
      }
      int w = super.maxWidth;
      if (w == null) return null;
      return max * w;
    }
  }
  
  class Parser {
  