anchor.diff:  
   end_per_testcase(_Func, Config) ->
       Dog=?config(watchdog, Config),
  -    ?t:timetrap_cancel(Dog).
  +    ?t:timetrap_cancel(Dog),
  +    case erlang:delete_module(?model) of
  +	true ->
  +	    erlang:purge_module(?model);
  +	_ -> ok
  +    end.
   
  +multiple_load_check_purge_repeat(_Conf) ->
  +    Ts    = [v1,v2,v3,v4,v5,v6],
   
  -parallel_load_check_purge_repeat(_Conf) ->
  -    Ts    = [v1,v2,v3,v4,v5,v6],
  -    Codes = generate_codes(Ts),
  +    %% generate code that receives a token, code switches to new code
  +    %% then matches this token against a literal code token
  +    %% should be identical
  +    %% (smoke test for parallel code loading
  +    Codes = [{T, generate(?model, [], [
  +	    format("check(T) -> receive {_Pid, change, T1} -> "
  +		" ~w:check(T1)\n"
  +		" after 0 -> T = f(), check(T) end.\n", [?model]),
  +	    format("f() -> ~w.~n", [T])
  +	])} || T <- Ts],
  +
       setup_code_changer(Codes),
       ok.
   
  
positive.code: 	    code_changer(Cs, Codes, T, Pids, Ps)
      end.
  
  %% generate code that receives a token, code switches to new code
  %% then matches this token against a literal code token
  %% should be identical
  %% (smoke test for parallel code loading
  generate_codes([]) -> [];
  generate_codes([T|Ts]) ->
      [{T, generate(?model, [], [
  	    format("check(T) -> receive {_Pid, change, T1} -> "
  		" ~w:check(T1)\n"
  		" after 0 -> T = f(), check(T) end.\n", [?model]),
  	    format("f() -> ~w.~n", [T])
  	])} | generate_codes(Ts)].
  
  
  
  %% aux
  
negative.code: suite() -> [{ct_hooks,[ts_install_cth]}].
  
  all() ->
      [
  	multiple_load_check_purge_repeat,
  	many_load_distributed_only_once
      ].
  
  
  init_per_suite(Config) ->
  