anchor.diff:  	  prop_type_info(AnnAST1, TypeInfo)
       end.
   
  +find_fun(Funs, Form) ->
  +    Ann = refac_syntax:get_ann(Form),
  +    Pos = refac_syntax:get_pos(Form),
  +    {value, {fun_def, {M, F, A, _, _}}} = lists:keysearch(fun_def, 1, Ann),
  +    {value, {{M, F, A}, FunDef}} = lists:keysearch({M, F, A}, 1, Funs),
  +    Pos1 = refac_syntax:get_pos(FunDef),   
  +    %%This is to handle the case when the same function name/arity is defined multiple time,
  +    %%which is illegal but accepted by Wrangler.
  +    case Pos==Pos1 of  
  +	true ->
  +	    FunDef;
  +	false ->
  +	    Form
  +    end.
  +
   
   
   do_type_ann(FileName, Form, TestFrameWorkUsed, SearchPaths, TabWidth, Pid) ->
  
positive.code: -include("../include/wrangler.hrl").
  
  type_ann_ast(FileName, Info, AnnAST, SearchPaths, TabWidth) ->
      case lists:keysearch(module,1, Info) of 
  	false -> AnnAST; %% this should only happen for .hrl files.
  	{value, {module, ModName}}->
  	    TestFrameWorkUsed = refac_util:test_framework_used(FileName),
  	    Pid = start_type_env_process(),
  	    Fs = refac_syntax:form_list_elements(AnnAST),
  	    Funs = sorted_funs(ModName, AnnAST),
  	    Funs1 = lists:map(fun ({{M, F, A}, FunDef}) ->
  				      {{M, F, A}, do_type_ann(FileName, FunDef, TestFrameWorkUsed, SearchPaths, TabWidth, Pid)}
  			      end, Funs),
  	    Fs1 = lists:map(fun (Form) ->
  				    case refac_syntax:type(Form) of
  					function ->
  					    Ann = refac_syntax:get_ann(Form),
  					    {value, {fun_def, {M, F, A, _, _}}} = lists:keysearch(fun_def, 1, Ann),
  					    {value, {{M, F, A}, FunDef}} = lists:keysearch({M, F, A}, 1, Funs1),
  					    FunDef;
  					_ -> Form
  				    end
  			    end, Fs),
  	    AnnAST1 = refac_util:rewrite(AnnAST, refac_syntax:form_list(Fs1)),
  	    case get_all_type_info(Pid) of
  		[] ->
  		    stop_type_env_process(Pid),
  		    AnnAST1;
  		TypeInfo ->
  		    ?debug("Typeinfo:\n~p\n", [TypeInfo]),
  		    stop_type_env_process(Pid),
  		    prop_type_info(AnnAST1, TypeInfo)
  	    end
      end.
  
  type_ann_file(L, SearchPaths, TabWidth) ->
  
negative.code: 		      end, Funs),
      Fs1 = lists:map(fun (Form) ->
  			    case refac_syntax:type(Form) of
  			      function -> find_fun(Funs1, Form);
  			      _ -> Form
  			    end
  		    end, Fs),
  