anchor.diff:  	       funs=[],				%Fun functions
   	       free=[],				%Free variables
   	       ws=[]   :: [warning()],		%Warnings.
  -	       lit,			        %Constant pool for literals.
   	       guard_refc=0}).			%> 0 means in guard
   
   -spec module(cerl:c_module(), [compile:option()]) ->
  
positive.code: module(#c_module{anno=A,name=M,exports=Es,attrs=As,defs=Fs}, _Options) ->
      Kas = attributes(As),
      Kes = map(fun (#c_var{name={_,_}=Fname}) -> Fname end, Es),
      St0 = #kern{lit=dict:new()},
      {Kfs,St} = mapfoldl(fun function/2, St0, Fs),
      {ok,#k_mdef{anno=A,name=M#c_literal.val,exports=Kes,attributes=Kas,
  		body=Kfs ++ St#kern.funs},lists:sort(St#kern.ws)}.
  
negative.code: 		  {union(Used0, Used),union(New0, New)} end,
  	  {[],[]}, Ps).
  
  make_list(Es) ->
      foldr(fun(E, Acc) ->
   		  #c_cons{hd=E,tl=Acc}
  