anchor.diff:  unary_expr -> funcall_expr : '$1'.
   
   funcall_expr -> funcall : '$1'.
  -funcall_expr -> funcall_expr '[' expr ']' : {funcall, line('$2'), '$1', {identifier, line('$2'), '[]'}, ['$3']}.
  -funcall_expr -> erl_funcall_expr : '$1'.
  +funcall_expr -> class_inst_expr : '$1'.
  +
  +class_inst_expr -> class_inst : '$1'.
  +class_inst_expr -> erl_funcall_expr : '$1'.
   
   erl_funcall_expr -> erl_funcall : '$1'.
   erl_funcall_expr -> max_expr : '$1'.
  
positive.code: funcall -> funcall_expr '.' function_identifier block : {funcall, line('$2'), '$1', '$3', [], '$4'}.
  funcall -> funcall_expr '.' function_identifier '(' ')' block : {funcall, line('$2'), '$1', '$3', [], '$6'}.
  funcall -> funcall_expr '.' function_identifier '(' exprs ')' block : {funcall, line('$2'), '$1', '$3', '$5', '$7'}.
  
  %% Blocks
  block -> inline_block : '$1'.
  
negative.code: %% Function calls
  funcall -> funcall_expr '.' function_identifier '(' ')' : {funcall, line('$2'), '$1', '$3', []}.
  funcall -> funcall_expr '.' function_identifier '(' exprs ')' : {funcall, line('$2'), '$1', '$3', '$5'}.
  funcall -> funcall_expr '[' expr ']' : {funcall, line('$2'), '$1', {identifier, line('$2'), '[]'}, ['$3']}.
  
  funcall -> function_identifier '(' ')' : {funcall, line('$2'), '$1', []}.
  funcall -> function_identifier '(' exprs ')' : {funcall, line('$2'), '$1', '$3'}.
  
  