anchor.diff:  
   %%% Internal functions.
   
  --record(st, {used}).
  +-record(st, {used,				%Used functions
  +	     gen,				%Dynamically generated functions
  +	     gc=1				%Counter for generated functions
  +	    }).
   
   init([]) ->
  -    St = #st{used=gb_sets:empty()},
  +    St = #st{used=gb_sets:empty(),gen=gb_trees:empty()},
       {ok,St}.
   
   handle_cast({need,MFA}, #st{used=Used0}=St) ->
  
positive.code:     end.
  
  handle_call(get_used, _From, #st{used=Used}=St) ->
      {stop,normal,gb_sets:to_list(Used),St}.
  
  terminate(_, _) ->
      ok.
  
negative.code:     asn1ct_rtt:assert_defined(MFA),
      cast({need,MFA}).
  
  call_gen(Prefix, Key, Gen, Args) when is_function(Gen, 2) ->
      F = req({gen_func,Prefix,Key,Gen}),
      asn1ct_gen:emit([F,"(",call_args(Args, ""),")"]).
  
  call_gen(Prefix, Key, Gen) when is_function(Gen, 2) ->
      req({gen_func,Prefix,Key,Gen}).
  
  generate(Fd) ->
      do_generate(Fd),
      Used0 = req(get_used),
      erase(?MODULE),
      Used = sofs:set(Used0, [mfa]),
  