anchor.diff:  function_body : code_block  ;
   parameter_clause : '(' ')' |  '(' parameter_list ')'  ;
   parameter_list : parameter (',' parameter)*  ;
  -parameter : external_parameter_name? local_parameter_name type_annotation? '...'? default_argument_clause? ;
  +parameter : external_parameter_name? local_parameter_name type_annotation? variadic_parameter_notation? default_argument_clause? ;
   external_parameter_name : identifier ;
   local_parameter_name : identifier ;
   default_argument_clause : assignment_operator expression  ;
  
positive.code:  | boolean_literal
   | '(' compilation_condition ')'
   | '!' compilation_condition
   | compilation_condition '&&' compilation_condition
   | compilation_condition '||' compilation_condition
   ;
  
  platform_condition
  
negative.code: 
  closure_parameter
   : closure_parameter_name type_annotation?
   | closure_parameter_name type_annotation variadic_parameter_notation
   ;
  
  closure_parameter_name : identifier;
  