anchor.diff:  
   function({#c_var{name={F,Arity}=FA},Body}, St0) ->
       try
  -	St1 = St0#kern{func=FA,ff=undefined,vcount=0,fcount=0,ds=sets:new()},
  +	St1 = St0#kern{func=FA,ff=undefined,vcount=0,fcount=0,ds=cerl_sets:new()},
   	{#ifun{anno=Ab,vars=Kvs,body=B0},[],St2} = expr(Body, new_sub(), St1),
   	{B1,_,St3} = ubody(B0, return, St2),
   	%%B1 = B0, St3 = St2,				%Null second pass
  
positive.code: make_vars(Vs) -> [ #k_var{name=V} || V <- Vs ].
  
  add_var_def(V, St) ->
      St#kern{ds=sets:add_element(V#k_var.name, St#kern.ds)}.
  
  %%add_vars_def(Vs, St) ->
  %%    Ds = foldl(fun (#k_var{name=V}, Ds) -> add_element(V, Ds) end,
  
negative.code: 	       ff,				%Current function
  	       vcount=0,			%Variable counter
  	       fcount=0,			%Fun counter
                 ds=cerl_sets:new() :: cerl_sets:set(), %Defined variables
  	       funs=[],				%Fun functions
  	       free=[],				%Free variables
  	       ws=[]   :: [warning()],		%Warnings.
  