anchor.diff:      : functorHeader? formalParameters block
       ;
   
  +//a functor expression that can appear inside an expression
  +//or as a method argument without the need for parens
  +selectorFunctor 
  +    : functorHeader? formalParameters? block
  +    ;
  +
   //shortcut functor expression that makes the parameter list 
   //optional, but can appear only using the special smalltalk
   //style method protocol
  
positive.code: selector 
      : ('.' | '^.' | '?.' | '*.') memberName
      | reflectedMember
      | (primaryFunctorStart) => primaryFunctor
      | arguments
      | elementSelector
      ;
  
negative.code: //special rule for syntactic predicates
  primaryFunctorStart
      : 'functor' | '(' (declarationStart | ')' '{')
      ;
  
  //special rule for syntactic predicates
  selectorFunctorStart
      : primaryFunctorStart | '{'
      ;
  
  //special rule for syntactic predicates
  