anchor.diff:  		    %% We store the dependency from the call site to the
   		    %% called functions
   		    Ls = set__to_list(X),
  -		    Out = St2#state.out,
  +		    Out = St2#intraprocedural_state.out,
   		    Xs1 = join_list([dict:fetch(Lx, Out) || Lx <- Ls]),
   		    St3 = call_site(Ls, L, As, St2),
   		    L1 = get_label(T),
  -		    D = dict:store(L1, X, St3#state.dep),
  -		    {Xs1, St3#state{dep = D}};
  +		    D = dict:store(L1, X, St3#intraprocedural_state.dep),
  +		    {Xs1, St3#intraprocedural_state{dep = D}};
   		none ->
   		    {none, St2}
   	    end;
  
positive.code: %% escape(none, St) ->
  %%    St;
  escape([X], St) ->
      Vars = St#state.vars,
      X0 = dict:fetch(escape, Vars),
      X1 = join_single(X, X0),
      case equal_single(X0, X1) of
  
negative.code: 	'try' ->
  	    {Xs1, St1} = visit(try_arg(T), L, St),
  	    X = singleton(external),
  	    Vars = bind_vars(try_vars(T), [X], St1#intraprocedural_state.vars),
  	    {Xs2, St2} = visit(try_body(T), L, St1#intraprocedural_state{vars = Vars}),
  	    Evars = bind_vars(try_evars(T), [X, X, X], St2#intraprocedural_state.vars),
  	    {Xs3, St3} = visit(try_handler(T), L, St2#intraprocedural_state{vars = Evars}),
  	    {join(join(Xs1, Xs2), Xs3), St3};
  	'catch' ->
  	    {_, St1} = visit(catch_body(T), L, St),
  