anchor.diff:      | 'once'
       | 'deprecated'
       | 'volatile'
  +    | 'extension'
       ;
   
   //special rule for syntactic predicates
  
positive.code:         typeParameters?
          typeConstraints?
          '(' annotation* type parameterName ')'
      ;
  
  interfaceDeclaration
      :
  
negative.code:     ;
  
  typeParameters
      : '<' variance type (',' variance type)* '>'
      ;
  
  variance 
      : ('in'|'out')?
      ;
      
  //for locals and attributes
  initializer
      : ('=' | ':=') assignable
  