anchor.diff:  
   
   
  -to_keep_original_fun(FileName, AnnAST, ModName, FunName, Arity, _Exp, Info) ->
  +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).
  -
  -    
  +	  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
  
positive.code: 				 4 -> [none| Args];
  				 3 -> [none, none| Args]
  			       end,
      Mod1 = try_eval(FileName, Mod, SearchPaths, TabWidth),
      Fun1 = try_eval(FileName, Fun, SearchPaths, TabWidth),
      NewApp = fun () ->
  		     Exp1 = refac_misc:update_ann(Exp, {range, ?DEFAULT_RANGE}),
  		     Pars0 = refac_syntax:list(refac_syntax:list_elements(Pars) ++ [Exp1]),
  
negative.code: 		    _ -> Acc
  		  end
  	  end,
      refac_syntax_lib:fold(Fun, [], Node).
  