anchor.diff:  // MEMBER
   
   memberDeclaration
  -	:	annotation* INCLUDE? accessMethodModifier aliasableMember  ( COMMA aliasableMember )* SEMICOLON
  -	|	EXCLUDE accessMethodModifier nonAliasableMember ( COMMA nonAliasableMember )* SEMICOLON
  +	:	annotation* selectionTypeModifier accessMethodModifier aliasableMember ( COMMA aliasableMember )* SEMICOLON
   	;
  +	
  +selectionTypeModifier
  +	:	INCLUDE
  +	|	EXCLUDE
  +	|	// default is INCLUDE
  +	;	
   	
   accessMethodModifier
   	:	PROPERTY
   	|	FIELD
  -	|	// default modifier (from taxonomy)
  +	|	// default is from taxonomy
   	;
   	
  -// 1. Aliases only legal when no wildcard is used.
  -// 2. Aliases cannot conflict with member names or other member aliases.
  +// Aliases cannot conflict with member names or other member aliases.
   aliasableMember
  -	:	memberSelector ( AS alias )?	// Note that AS is only legal if member contains no wildcards
  -	;
  -
  -nonAliasableMember
  -	:	memberSelector
  +	:	memberRef ( AS alias )?
   	;
   	
   // COMMON
  
positive.code: 	;
  
  importDeclaration
  	:	IMPORT importSymbol SEMICOLON		// Import symbol can only have wildcard at end (Java-style).
  	;
  
  importSymbol
  
negative.code: 	:	ANNOTATION
  	;
  
  taxonomy
  	:	type
  	;
  
  classRef
  	:	type
  	;
  	
  memberRef
  	:	identifier
  	;
  	
  