anchor.diff:  		  when
   		      M =/= '_' andalso F =/= '_' -> 
   		    Args1 = do_type_ann_args({M, F, A}, map_args(Pats, Args), Args, Pid),
  -		    refac_util:rewrite(Node, refac_syntax:application(Op, Args1));
  +		    Node1 =refac_util:rewrite(Node, refac_syntax:application(Op, Args1)),
  +		    do_type_ann_op(FileName, Node1, SearchPaths, TabWidth, Pid);
   		_ -> %% Either module name or function name is not an atom;
   		    do_type_ann_op(FileName, Node, SearchPaths, TabWidth, Pid)
   	    end;
  
positive.code: 
  -module(refac_type_annotation).
  
  -export([type_ann_ast/4, type_ann_file/3]).
  
  -export([try_eval/2]).
  
  
negative.code: 
  -include("../include/wrangler.hrl").
  
  type_ann_ast(File, Info, AnnAST, SearchPaths, TabWidth) ->
      {value, {module, ModName}} = lists:keysearch(module, 1, Info),
      TestFrameWorkUsed = refac_util:test_framework_used(File),
      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(File, FunDef, TestFrameWorkUsed,SearchPaths, TabWidth, Pid)} end, Funs), 
      Fs1 = lists:map(fun(Form) ->
  