anchor.diff:  		Node2 = refac_syntax:make_tree(refac_syntax:type(Node1), Gs2),
   		{refac_syntax:copy_attrs(Node1, Node2), lists:member(true, lists:flatten(G))}
   	  end
  +    end.
  +
  +-spec(full_tdTP/3::(fun((syntaxTree(), any()) ->
  +			       {anyterm(), boolean()}), syntaxTree(), anyterm()) ->
  +	     {anyterm(), boolean()}).
  +full_tdTP(Function, Node, Others) ->
  +    case Function(Node, Others) of
  +	{Node1, Changed} ->
  +	    case refac_syntax:subtrees(Node1) of
  +		[] -> {Node1, Changed};
  +		Gs ->
  +		    Gs1 = [[full_tdTP(Function, T, Others) || T <- G] || G <- Gs],
  +		    Gs2 = [[N || {N, _B} <- G] || G <- Gs1],
  +		    G = [[B || {_N, B} <- G] || G <- Gs1],
  +		    Node2 = refac_syntax:make_tree(refac_syntax:type(Node1), Gs2),
  +		    {refac_syntax:copy_attrs(Node1, Node2), Changed or lists:member(true, lists:flatten(G))}
  +	    end
       end.
   
   
  
positive.code: -export([ghead/2, glast/2, to_lower/1, to_upper/1, try_evaluation/1,
           is_var_name/1, is_fun_name/1, is_expr/1, is_pattern/1,
  	 is_exported/2, inscope_funs/1,
           once_tdTU/3, stop_tdTP/3, full_buTP/3,
           pos_to_fun_name/2, pos_to_fun_def/2,pos_to_var_name/2,
           pos_to_expr/3, pos_to_expr_list/5, pos_to_syntax_units/6, 
  	 pos_to_syntax_units/4, expr_to_fun/2,get_range/1,get_toks/1, concat_toks/1, tokenize/3,
  
negative.code: 					   _ -> []
  				       end
  			       end,Forms),
  	    Eunit = lists:any(fun(S) -> lists:suffix("eunit.hrl", S) end,Strs),
  	    EQC = lists:any(fun(S) -> lists:suffix("eqc.hrl", S) end, Strs),
  	    EQC_STATEM  =lists:any(fun(S) -> lists:suffix("eqc_statem.hrl", S) end, Strs),
  	    TestSever = lists:suffix(FileName, "_SUITE.erl") and 
  		lists:any(fun(S) -> lists:suffix("test_server.hrl", S) end, Strs),
  	    CommonTest= lists:suffix(FileName, "_SUITE.erl") and 
  		lists:any(fun(S) -> lists:suffix("ct.hrl", S) end, Strs),
  	    lists:flatmap(fun({F, V}) -> case V of 
  