anchor.diff:    { TExpr, VE } = transform(Expr, F, V, S),
     { TArgs, VA } = transform({list, Line, Args, {nil, Line}}, F, V, S),
     FArgs = handle_new_call(Name, Line, TArgs),
  -  { ?ELIXIR_WRAP_CALL(Line, elixir_dispatch, dispatch, [TExpr, {atom, Line, Name}, FArgs]), umerge3(V,VA,VE) };
  +  { ?ELIXIR_WRAP_CALL(Line, elixir_dispatch, dispatch, [TExpr, {atom, Line, Name}, FArgs]), umerge(VA,VE) };
   
   % Makes a local call. Local calls don't go through the method dispatching
   % path and always call functions in the same module.
  
positive.code:     false ->
        { TArgs, VA } = transform_tree(Args, F, V, S),
        { TVar, VV }  = transform(Var, F, V, S),
        { {call, Line, TVar, TArgs}, umerge3(V, VA, VV) }
    end;
  
  % Handle module/object declarations. The difference between
  
negative.code: -module(elixir_transform).
  -export([parse/3]).
  -include("elixir.hrl").
  -import(lists, [umerge/2]).
  
  parse(String, Binding, Filename) ->
    Vars = lists:usort(proplists:get_keys(Binding)),
  