anchor.diff:  expr expr_100 expr_150 expr_160 expr_200 expr_300 expr_400 expr_500
   expr_600 expr_700 expr_800
   expr_max
  +pat_expr pat_expr_200 pat_expr_300 pat_expr_400 pat_expr_500
  +pat_expr_600 pat_expr_700 pat_expr_800
  +pat_expr_max map_pat_expr record_pat_expr
  +pat_argument_list pat_exprs
   list tail
   list_comprehension lc_expr lc_exprs
   binary_comprehension
  
positive.code: 	{clause,?anno('$1'),element(3, '$1'),'$2','$3','$4'}.
  
  
  clause_args -> argument_list : element(1, '$1').
  
  clause_guard -> 'when' guard : '$2'.
  clause_guard -> '$empty' : [].
  
negative.code: fun_clauses -> fun_clause : ['$1'].
  fun_clauses -> fun_clause ';' fun_clauses : ['$1' | '$3'].
  
  fun_clause -> pat_argument_list clause_guard clause_body :
  	{Args,Anno} = '$1',
  	{clause,Anno,'fun',Args,'$2','$3'}.
  
  fun_clause -> var pat_argument_list clause_guard clause_body :
  	{clause,element(2, '$1'),element(3, '$1'),element(1, '$2'),'$3','$4'}.
  
  try_expr -> 'try' exprs 'of' cr_clauses try_catch :
  