anchor.diff:  		 end
   	 end,
       refac_syntax_lib:map(F1, Node).
  +
  +
  +get_mod_fun_arg_info(Mod, Fun, Args, CurModName) ->
  +    M = case refac_syntax:type(Mod) of
  +	  atom -> refac_syntax:atom_value(Mod);
  +	  macro -> MacroName = refac_syntax:macro_name(Mod),
  +		   case refac_syntax:type(MacroName) of
  +		     variable ->
  +			 case refac_syntax:variable_name(MacroName) of
  +			   'MODULE' -> CurModName;
  +			   _ -> '_'
  +			 end;
  +		     _ -> '_'
  +		   end;
  +	  _ -> '_'
  +	end,
  +    F = case refac_syntax:type(Fun) of
  +		 atom -> refac_syntax:atom_value(Fun);
  +		 _ -> '_'
  +	       end,
  +    A = length(Args),
  +    {M, F, A}.
   
   
   %%=================================================================
  
positive.code:     Define_Mod_Loc = fun (Name, Arity) ->
  			     Fs = ordsets:filter(fun ({_M, F, A, _Pos}) -> (F == Name) and (Arity == A) end, Inscope_Funs),
  			     case Fs of
  				 [] -> {'_', ?DEFAULT_LOC};   %% is this correct? what about the function is not a BIF?
  				 [{M, _, _, Pos}| _] -> {M, Pos}
  			     end
  		     end,
      F1 = fun (T) ->
  
negative.code: 
  
  
  add_fun_define_locations(Node, Info) ->
      ModName = case lists:keysearch(module, 1, Info) of
  		{value, {module, ModName1}} -> ModName1;
  		_ -> '_'
  	      end,
      Funs = fun (T, S) ->
  		   case refac_syntax:type(T) of
  		     function ->
  			 ordsets:add_element({ModName, refac_syntax:data(refac_syntax:function_name(T)),
  