anchor.diff:  %%% 	    io:fwrite("updating escaping funs: ~w.\n", [set__to_list(X)]),
   	    Vars1 = dict:store(escape, X1, Vars),
   	    {W, Vars2} = update_esc(set__to_list(set__subtract(X, X0)),
  -				    St#state.work, Vars1,
  -				    St#state.funs),
  -	    St#state{work = add_work([external], W), vars = Vars2}
  +				    St#intraprocedural_state.work, Vars1,
  +				    St#intraprocedural_state.funs),
  +	    St#intraprocedural_state{work = add_work([external], W), vars = Vars2}
       end.
   
   %% For all escaping lambdas, since they might be called from outside the
  
positive.code: 
  call_site(Ls, L, Xs, St) ->
  %%%     io:fwrite("call site: ~w -> ~w (~w).\n", [L, Ls, Xs]),
      {D, W, V} = call_site(Ls, L, Xs, St#state.dep, St#state.work,
  			  St#state.vars, St#state.funs),
      St#state{dep = D, work = W, vars = V}.
  
  call_site([external | Ls], T, Xs, D, W, V, Fs) ->
      D1 = add_dep(external, T, D),
  
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),
  