anchor.diff:      element(2, ast_traverse_api:once_tdTU(F, AnnAST, [])).
   
   
  +generalise_recursive_function_call(Exp, ModName, FunName, Arity)->
  +    case refac_syntax:type(Exp) of
  +	atom -> case refac_syntax:atom_value(Exp) of
  +		    FunName ->
  +			case lists:keysearch(fun_def, 1, refac_syntax:get_ann(Exp)) of
  +			    {value, {fun_def, {ModName, FunName, Arity, _P1, _P2}}} ->
  +				true;
  +			    _ -> false 
  +			end;
  +		    _ -> false
  +		end;
  +	_ -> false
  +    end.
  +			    
  +    
  +
   check_side_effect(FileName, Exp, SearchPaths) ->
       case side_effect_api:has_side_effect(FileName, Exp, SearchPaths) of
         unknown -> case refac_misc:get_free_vars(Exp) of
  
positive.code: 	  Args = refac_syntax:application_arguments(Tree),
  	  case get_fun_def_info(Op) of
  	    {M1, F1, A1} ->
  		case lists:keysearch({M1, F1, A1}, 1, apply_style_funs()) of
  		  {value, _} ->
  		      transform_apply_style_calls(Tree, Others);
  		  false ->
  
negative.code: 
  
  
  to_keep_original_fun(FileName, AnnAST, ModName, FunName, Arity, Exp, Info) ->
      refac_misc:is_exported({FunName, Arity}, Info) orelse
        is_eunit_special_function(FileName, atom_to_list(FunName), Arity) orelse
  	check_atoms(AnnAST, [FunName]) orelse
  	  check_implicit_and_apply_style_calls(AnnAST, ModName, FunName, Arity) orelse 
  	generalise_recursive_function_call(Exp, ModName, FunName, Arity).
  
     
  is_eunit_special_function(FileName, FunName, Arity) ->
      UsedTestFrameWorks = refac_util:test_framework_used(FileName),
      case lists:member(eunit, UsedTestFrameWorks) of
  