anchor.diff:      ;
   
   elementSelector
  -    : '?'? LBRACKET elementsSpec ']'
  -    -> ^(SUBSCRIPT_EXPR '?'? elementsSpec)
  -    ;
  +    : (SAFEINDEX | LBRACKET) elementsSpec ']'
  +    -> ^(SUBSCRIPT_EXPR SAFEINDEX? elementsSpec)
  +    ;
  +
  +/*selectorStart
  +    : SAFEINDEX | LBRACKET
  +    | '('
  +    | '{'
  +    | memberOperator
  +    | postfixOperator
  +    ;*/
   
   elementsSpec
       : additiveExpression ( '...' | '..' additiveExpression )?
  
positive.code:     | { $type = LBRACKET; } 
      )
      ;    
  
  CHARLITERAL
      :   '`' ( ~ NonCharacterChars | EscapeSequence ) '`'
  
negative.code: 
  defaultExpression
      : rangeIntervalEntryExpression 
        (QMARK^ defaultExpression)?
      ;
  
  //I wonder if it would it be cleaner to give 
  