anchor.diff:  receive_expr -> 'receive' separator clauses after_clause 'end': {'receive', line('$1'), '$3', '$4'}.
   receive_expr -> 'receive' separator after_clause 'end' : {'receive', line('$1'), [], '$3'}.
     
  -after_clause -> 'after' expr separator statements : {'after', line('$1'), '$2', '$4'}.
  +after_clause -> 'after' expr separator expr_list : {'after', line('$1'), '$2', '$4'}.
   
   %% If expressions
  -if_expr -> if_op expr separator statements 'end' : if_forms({'$1', '$2', '$4'}).
  -if_expr -> if_op expr separator statements else_clause 'end' : if_forms({'$1', '$2', '$4', '$5'}).
  +if_expr -> if_op expr separator expr_list 'end' : if_forms({'$1', '$2', '$4'}).
  +if_expr -> if_op expr separator expr_list else_clause 'end' : if_forms({'$1', '$2', '$4', '$5'}).
   
   if_op -> 'if'   : '$1'.
   if_op -> unless : '$1'.
   
  -else_clause -> else statements : {else_clause, line('$1'), '$2'}.
  +else_clause -> else expr_list : {else_clause, line('$1'), '$2'}.
   
   %% For loops
  -for_expr -> for match_expr in expr separator statements end : {for, line('$1'), '$2', '$4', '$6'}.
  +for_expr -> for match_expr in expr separator expr_list end : {for, line('$1'), '$2', '$4', '$6'}.
   
   %% Try expressions
  -try_expr -> 'try' statements catch_clauses 'end' : {'try', line('$1'), '$2', '$3'}.
  +try_expr -> 'try' expr_list catch_clauses 'end' : {'try', line('$1'), '$2', '$3'}.
   
   catch_clauses -> catch_clause catch_clauses : ['$1'|'$2'].
   catch_clauses -> catch_clause : ['$1'].
   
  -catch_clause -> 'catch' expr separator statements : {'catch', line('$1'), '$2', '$4'}.
  +catch_clause -> 'catch' expr separator expr_list : {'catch', line('$1'), '$2', '$4'}.
   
   %% Boolean operators
   bool_op -> 'and' : '$1'.
  
positive.code: lambda -> fun '{' inline_statements '}' : {lambda, line('$1'), [], '$3'}.
  lambda -> fun '(' ')' '{' inline_statements '}' : {lambda, line('$1'), [], '$5'}.
  lambda -> fun '(' exprs ')' '{' inline_statements '}' : {lambda, line('$1'), '$3', '$6'}.
  lambda -> fun do statements 'end' : {lambda, line('$1'), [], '$3'}.
  lambda -> fun '(' ')' do statements 'end' : {lambda, line('$1'), [], '$5'}.
  lambda -> fun '(' exprs ')' do statements 'end' : {lambda, line('$1'), '$3', '$6'}.
    
  %% List comprehensions
  list_comprehension -> '[' expr '|' lc_exprs ']' : {lc, line('$1'), '$2', '$4'}.
  
negative.code: 
  Rootsymbol grammar.
  
  grammar -> expr_list : '$1'.
  
  %% Expression lists 
  expr_list -> expr : ['$1'].
  expr_list -> expr separators : ['$1'].
  expr_list -> separators expr_list : '$2'.
  expr_list -> expr separators expr_list : ['$1'|'$3'].
  
  separators -> separator : '$empty'.
  separators -> separator separators : '$empty'.
  