anchor.diff:              // The lookahead is also necessary to reach across newline in foo \n {bar}.
               // (Apparently antlr's basic approximate LL(k) lookahead is too weak for this.)
           :   (pathElementStart)=>
  +            nls!
               pe:pathElement[prefix]!
               { prefix = #pe; }
           |
  
positive.code:     ;
  
  pathElementStart!
      :   DOT
      |   SPREAD_DOT
      |   OPTIONAL_DOT
  //todo - nondeterminisms    |   MEMBER_POINTER_DEFAULT
  
negative.code:         |   // Member pointer operator: foo.&y == foo.metaClass.getMethodPointer(foo, "y")
              MEMBER_POINTER^
          |   // The all-powerful dot.
              (nls! DOT^)
          ) nls!
          (typeArguments)?   // TODO: Java 5 type argument application via prefix x.<Integer>y
          namePart
  