anchor.diff:  		      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;
  +			      function -> find_fun(Funs1, Form);
   			      _ -> Form
   			    end
   		    end, Fs),
  
positive.code: %% function names, and process names. For an atom that represents a function name, we also 
  %% try to infer the function's defining module and the function'a arity.
  
  -module(refac_type_annotation).
  
  -export([type_ann_ast/5, type_ann_file/3]).
  
negative.code: 	  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) ->
  