anchor.diff:    KD = lists:keysort(1, tset:restrict_domain(K, D)),
     case tdtree:lookup({X,KD}, S0#state.data) of
       [] ->
  -      io:format(user, "Inserting {~p,~p} = ~p~n", [X,KD,{calc,W0}]),
  +      io:format("Inserting {~p,~p} = ~p~n", [X,KD,{calc,W0}]),
         Tr = tdtree:insert({X,KD,{calc,W0}}, S0#state.data),
         S2 = S0#state{data = Tr, ck = S0#state.ck + 1},
         {reply, {{calc,W0}, S2#state.ck},  S2};
  
positive.code:       io:format("Wrong thread ~p~n", [Thr]),
        {reply, hang, S0};
      Other ->
        io:format(user, "Other = ~p, W = ~p~nData1 = ~p~n", [Other, W, S0#state.data]),
        {reply, hang, S0}
    end.
  
  
negative.code: 	true ->
  	  %% FIXME
  	  %% Threads can be <= to others which is wrong, but it works...
  	  %% io:format("Thread ~p is less than or equal to ~p~n", [W1, W0]),
  	  {reply, hang, S0};
  	false ->
  	  {reply, {V, S0#state.ck}, S0}
  