anchor.diff:  		gen_magic_wrappers_(I+1, Perm, Vars, FS, MFA)].
   
   gen_magic_wrapper_func_name(UFunc, M, F, I) ->
  -	[$', UFunc, "_m_", M, "_f_", F, $_, to_s(I), $'].
  +	[$', to_s(UFunc), "_m_", to_s(M), "_f_", to_s(F), $_, to_s(I), $'].
   
   gen_magic_wrapper_spec(I, {Func, TStr}, {M, F, _A}) ->
   	["-spec ",
  
positive.code: 	rm_temp_file(FName),
  	rank(M2F, R).
  
  generate_magic_file(Req) ->
  	Arity  = hint_search_req:arity(Req),
  	AFuncs = funcs_with_arity(Arity),
  	Func   = hint_search_req:func(Req),
  	String = hint_search_req:string(Req),
  	Header = gen_magic_header(),
  	Bodies = 
  		[gen_magic_wrappers({Func, String, Arity}, MFA) 
  			|| MFA <- AFuncs],
  	Magic2F = dict:new(), %% TODO
  	{ok, Magic2F, [Header, Bodies]}.
  
  gen_magic_header() ->
  
negative.code: 	when is_integer(Ar) ->
  	% TODO switch to cache
  	PLT   = dialyzer_plt:from_file(dialyzer_plt:get_default_plt()),
  	%PLT   = dialyzer_plt:from_file("/Users/nekro/docs/hint/tiny_plt"),
  	LMods = [M || 
  			M <- sets:to_list(dialyzer_plt:all_modules(PLT)),
  			% wrong heuristic :)
  			string:equal(atom_to_list(M), 
  				string:to_lower(atom_to_list(M)))],
  	LFuns = [begin 
  				{value, MT}=dialyzer_plt:lookup_module(PLT,M),
  				MT 
  