anchor.diff:  			    Free = L,
   			    Def = [vann_1(V3) || V3 <- L]
   		    end, 
  -		    {ann_bindings(Tree, Env, Bound, Free, Def), Bound, Free};
  -		_ ->
  -		    case lists:keysearch({V, P}, 1, VI) of
  -			{value, {{V, P}, As}} ->
  -			    {value, {bound, Bound1}} = lists:keysearch(bound, 1,As),
  -			    {value, {free, Free1}} = lists:keysearch(free, 1,As),
  -			    {value, {def, Def1}} = lists:keysearch(def, 1,As),
  -			    {value, {env, Env1}} = lists:keysearch(env, 1,As),
  -			    {ann_bindings(Tree, Env1, Bound1, Free1, Def1), Bound1, Free1};
  -			false -> 
  -			    throw("Wrangler AST annotation error!")
  -		    end
  -	    end;
  +		    {ann_bindings(Tree, Env, Bound, Free, Def), Bound, Free}
  +		end;		
   	match_expr -> vann_match_expr(Tree, Env, Ms, VI);
   	case_expr -> vann_case_expr(Tree, Env, Ms, VI);
   	if_expr -> vann_if_expr(Tree, Env, Ms, VI);
  
positive.code:       variable ->
  	    V = refac_syntax:variable_name(Tree),
  	    P = refac_syntax:get_pos(Tree),
  	    case VI of 
  		[] -> Bound = [{V, P}],
  		      Free = [],
  		      Def = [P],
  		      {ann_bindings(Tree, Env, Bound, Free, Def), Bound, Free};		
  		_ ->
  		    case lists:keysearch({V, P}, 1, VI) of
  			{value, {{V, P}, As}} ->
  			    {value, {bound, Bound1}} = lists:keysearch(bound, 1,As),
  			    {value, {free, Free1}} = lists:keysearch(free, 1,As),
  			    {value, {def, Def1}} = lists:keysearch(def, 1,As),
  			    {value, {env, Env1}} = lists:keysearch(env, 1,As),
  			    {ann_bindings(Tree, Env1, Bound1, Free1, Def1), Bound1, Free1};
  			false -> 
  			    throw("Wrangler AST annotation error!")
  		    end
  	    end;
  	match_expr ->
  	  %% Alias pattern
  
negative.code: 			    Free = [],
  			    Def = [P]
  		    end,
  		    {ann_bindings(Tree, Env, Bound, Free, Def), Bound, Free}
  		end;
        match_expr ->
  	  %% Alias pattern
  	  P = refac_syntax:match_expr_pattern(Tree),
  