anchor.diff:  
   -module(refac_type_annotation).
   
  --export([type_ann/2]).
  +-export([type_ann_ast/4, type_ann_file/3]).
   
   -export([try_eval/2]).
  -
  --compile(export_all).
   
   %%-define(DEBUG, true).
   
  
positive.code: %%                                                                       %%
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  type(erlang, apply, 3) ->
      {[m_atom, fun(Args)->
  		      [A1, A2, A3] = Args, 
  		      {f_atom, [try_eval(A1, fun is_atom/1), try_eval(A2, fun is_atom/1),
  				try_eval_length(A3)]}
  	      end, any], any};
  type(_, _, _) -> 
      none.
  
      
  sorted_funs(File) ->
     CallGraph = wrangler_callgraph_server:get_callgraph([File]),
     lists:append(CallGraph#callgraph.scc_order).
  
  
negative.code: 		_ ->
  		    Type = element(2, lists:unzip(Ts)),
  		    Node1 = refac_syntax:add_ann({type, Type}, Node),
  		    {Node1, true}
  	    end;	    
  	_ -> {Node, false}
  