anchor.diff:  build_def_method(Name, Args, Clauses) ->
     { def_method, ?line(Name), ?chars(Name), length(Args), [Clauses] }.
   
  -build_method_call(true, Expr, Name, Args) ->
  -  { method_call, ?line(Name), ?chars(Name), Args, Expr };
  -
  -build_method_call(false, Expr, Name, Args) ->
  -  case Args of
  -    [{unary_op, Line, Op, Right}|T] ->
  -      Left = { method_call, ?line(Name), ?chars(Name), T, Expr },
  -      { binary_op, Line, Op, Left, Right };
  -    _ -> build_method_call(true, Expr, Name, Args)
  -  end.
  +build_method_call(Expr, Name, Args) ->
  +  { method_call, ?line(Name), ?chars(Name), Args, Expr }.
   
   build_local_call(Name, Args) ->
  -  case Args of
  -    [{unary_op, Line, Op, Right}|T] ->
  -      Left = { local_call, ?line(Name), ?chars(Name), T },
  -      { binary_op, Line, Op, Left, Right };
  -    _ -> { local_call, ?line(Name), ?chars(Name), Args }
  -  end.
  -
  -build_erlang_call(true, Op, Prefix, Suffix, Args) ->
  -  { erlang_call, ?line(Op), Prefix, Suffix, Args };
  -
  -build_erlang_call(false, Op, Prefix, Suffix, Args) ->
  -  case Args of
  -    [{unary_op, Line, Op, Expr}|T] ->
  -      Call = { erlang_call, ?line(Op), Prefix, Suffix, T },
  -      { binary_op, Line, Op, Call, Expr };
  -    _ -> build_erlang_call(true, Op, Prefix, Suffix, Args)
  -  end.
  +  { local_call, ?line(Name), ?chars(Name), Args }.
  +
  +build_erlang_call(Op, Prefix, Suffix, Args) ->
  +  { erlang_call, ?line(Op), Prefix, Suffix, Args }.
   
   % Build a string list. If we are concatenating a non interpolated
   % string with an interpolated string, we need to escape the interpolation
  
positive.code: fun_call_expr -> min_expr call_args_parens : build_fun_call('$1', '$2').
  
  % Method call
  method_call_expr -> call_exprs dot_eol method_name call_args_parens : build_method_call(true, '$1', '$3', '$4').
  method_call_expr -> call_exprs dot_eol method_name call_args_optional : build_method_call(false, '$1', '$3', '$4').
  method_call_expr -> call_exprs dot_eol method_name : build_method_call(true, '$1', '$3', []).
  method_call_expr -> implicit_method_name call_args_optional : build_local_call('$1', '$2').
  method_call_expr -> punctuated_identifier call_args_parens : build_local_call('$1', '$2').
  
  % Minimum expressions
  min_expr -> base_expr : '$1'.
  
negative.code:   call_exprs _call_exprs
    fun_call_expr _fun_call_expr
    method_call_expr _method_call_expr
    without_args_method_call_expr _without_args_method_call_expr
    erlang_call_expr
    min_expr
  
  