anchor.diff:  //special rule for syntactic predicates
   declarationStart
       :  declarationModifier 
  +    //TODO: type inference: (type|'assign'|'void'|'def')
       | ( userAnnotation annotations? )? (type|'assign'|'void') LIDENTIFIER
       ;
   
  
positive.code: //kind of expressions that can appear as arguments to
  //the annotation
  userAnnotation 
      : annotationName ( arguments | literal | reflectedBase (reflectedMember)* )?
      ;
  
  qualifiedTypeName
  
negative.code:     ;
      
  instances
      : 'instances' instance (',' instance)* (';'|'...')
      ;
  
  instance 
  