anchor.diff:  %% @spec get_bound_vars(Node::syntaxTree())-> [{atom(),pos()}]
   %% @doc Return the bound variables of an AST node.
   
  +
  +
   -spec(get_bound_vars(Node::[syntaxTree()]|syntaxTree())-> [{atom(),pos()}]).
   get_bound_vars(Nodes) when is_list(Nodes)->
       lists:flatmap(fun(Node) ->get_bound_vars(Node) end, Nodes);			   
   get_bound_vars(Node) ->
  -    get_bound_vars_1(refac_syntax:get_ann(Node)).
  -
  +    refac_syntax_lib:fold(fun(N, Acc) ->
  +			      get_bound_vars_1(refac_syntax:get_ann(N))++Acc
  +		      end, [], Node).
  +					       
   get_bound_vars_1([{bound, B} | _Bs]) -> B;
   get_bound_vars_1([_ | Bs]) -> get_bound_vars_1(Bs);
   get_bound_vars_1([]) -> [].
  -
   
   %% =====================================================================
   %% @spec get_env_vars(Node::syntaxTree())-> [atom()]
  
positive.code: 				    token_loc(T) =< EndLoc end, Toks),
      Toks2 = lists:takewhile(fun(T) ->
  				    token_loc(T) < StartLoc1 end, Toks1),
      case lists:any(fun(T) -> token_val(T) =/= ',' end, Toks2) of 
  	false ->
  	    [E1]++ filter_syntax_units_via_toks_2(Toks, [E2|Es]);
  	_  -> [E1]
  
negative.code: 
  %% =====================================================================
  %% get the list expressions enclosed by start and end locations.
  -spec(pos_to_expr_list(Tree::syntaxTree(), Start::pos(), End::pos()) ->
  	     [syntaxTree()]).
  
  pos_to_expr_list(AnnAST, Start, End) ->
      pos_to_entity_list(AnnAST, Start, End, fun is_expr/1).
  
  pos_to_expr_or_pat_list(AnnAST, Start, End) ->
      pos_to_entity_list(AnnAST, Start, End, 
  		      fun(E) ->is_expr(E) orelse is_pattern(E) end).
  						  
  
  pos_to_entity_list(AnnAST, Start, End, Fun) ->
      case pos_to_fun_def(AnnAST, Start) of
  	{ok, FunDef} ->
  	    Ann = refac_syntax:get_ann(FunDef),
  	    {value, {toks, Toks}} = lists:keysearch(toks, 1, Ann),
  	    Units = pos_to_syntax_units(FunDef, Start, End, Fun, Toks),
  	    case Units of
  		[] -> [];
  		_ -> hd(Units)
  	    end;
  	{error, _} ->
  	    []
      end.
  
  pos_to_syntax_units(Tree, Start, End, F, Toks) ->
      Res = pos_to_syntax_units_1(Tree, Start, End, F),
      Res1 = filter_syntax_units(Res),
      Units = case length(Res1)=<1 of 
  		true ->
  		    [Res1];
  		_ ->
  		    filter_syntax_units_via_toks_1(Toks, Res1)
  	    end,
      [U || U<-Units, U=/=[]].
  
  		   
      
  
  %% ===========================================================================
  