anchor.diff:  		s = null;
   		Expression e = null;
   	}:
  -	it:IF! e=expression
  +	it:IF e=expression
   	{
   		s = new IfStatement(ToLexicalInfo(it));
   		s.Condition = e;
  
positive.code: 		s = null;
  		Expression e = null;
  	}:
  	yt:YIELD! e=array_or_expression
  	{
  		s = new YieldStatement(ToLexicalInfo(yt));
  		s.Expression = e;
  
negative.code: 		ctr = null;
  		TypeReference tr = null;
  	}:	
  	c:CALLABLE LPAREN
  	{
  		ctr = new CallableTypeReference(ToLexicalInfo(c));
  	}
  	(
  		tr=type_reference { ctr.Parameters.Add(tr); }
  		(COMMA tr=type_reference { ctr.Parameters.Add(tr); })*
  	)?
  	RPAREN
  	(AS tr=type_reference { ctr.ReturnType = tr; })?
  	;
  
  protected
  