anchor.diff:     ;
   
   expr
  -   : const
  +   : const_
      | qualName
      | '@' name
      | 'this'
      | unOp expr
      | expr binOp expr
      | expr arrowOp expr
  -   | expr ((',' expr)*)?
  +   | expr (',' expr)+
      | expr ('!' | 'not') compareOp expr
      | expr ('=>' | 'implies') expr 'else' expr
      | 'let' letDecl (',' letDecl)* blockOrBar
  
positive.code:    | block
     ;
  
  const
     : '-'? number
     | 'none'
     | 'univ'
  
negative.code: assertDecl
     : 'assert' name? block
     ;
     // qualname | bloclk should be optional
     
  cmdDecl
     : (name ':')? ('run' | 'check')? (qualName | block) scope?
     ;
  
  scope
  