anchor.diff:  			docstring[field]
   		)
   	)
  -	{ container.Add(tm); }
  +)
  +{
  +	if (null != nameSplice) {
  +		tm = new SpliceTypeMember(tm, nameSplice);
  +	}
  +	container.Add(tm);
  +}
   ;
   	
   declaration_initializer returns [Expression e]
  
positive.code: 			field.Name = token.getText();
  			field.Modifiers = _modifiers;
  			AddAttributes(field.Attributes);
  			
  			if (id2 != null) {
  				tm = field;
  			} else {
  				tm = new SpliceTypeMember(field, nameSplice);
  			}
  		}
  		(		
  			(AS tr=type_reference { field.Type = tr; })?
  
negative.code: 	
  protected
  field_or_property [TypeMemberCollection container]
  {
  	IToken id = null;
  	TypeMember tm = null;
  	TypeReference tr = null;
  	Property p = null;
  	Field field = null;
  	ExplicitMemberInfo emi = null;
  	Expression initializer = null;
  	ParameterDeclarationCollection parameters = null;
  	Expression nameSplice = null;
  }:
  (	
  	(property_header)=>(
  		(emi=explicit_member_info)?
  		(id1:ID {id=id1;}
  