anchor.diff:  }}
       :   "class" IDENT nls!
          { currentClass = #IDENT; }
  -        // it _might_ have type paramaters
  +        // it _might_ have type parameters
           (tp:typeParameters nls!)?
           // it _might_ have a superclass...
           sc:superClassClause
  
positive.code: //                 (OPERATOR nextHigherPrecedenceExpression)*
  // which is a standard recursive definition for a parsing an expression.
  // The operators in java have the following precedences:
  //      lowest  (15)  = **= *= /= %= += -= <<= >>= >>>= &= ^= |=
  //                      (14)  ?:
  //                      (13)  ||
  //                      (12)  &&
  //                      (11)  |
  //                      (10)  ^
  //                      ( 9)  &
  //                      ( 8)  == != <=>
  //                      ( 7)  < <= > >= instanceof as
  //                      ( 6)  << >> .. ...
  //                      ( 5)  +(binary) -(binary)
  //                      ( 4)  * / %
  //                      ( 3)  ++(pre/post) --(pre/post) +(unary) -(unary)
  //                      ( 2)  **(power)
  //                      ( 1)  ~  ! $ (type)
  //                            . ?. *. (dot -- identifier qualification)
  //                            []   () (method call)  {} (closableBlock)  [] (list/map)
  //                            new  () (explicit parenthesis)
  //                            $x (scope escape)
  //
  // the last two are not usually on a precedence chart; I put them in
  // to point out that new has a higher precedence than '.', so you
  
negative.code:             // Definition:  a.{foo} === {with(a) {foo}}
              // May cover some path expression use-cases previously handled by dynamic scoping (closure delegates).
  
              // let's allow common keywords as property names
          |   keywordPropertyNames
  
  /* let's allow some common keywords for properties like 'in', 'class', 'def' etc
   * TODO: Reinstate this logic if we change or remove keywordPropertyNames.
   * See also LITERAL_in logic in the lexer.
          // Recover with a good diagnostic from a common error:
  