anchor.diff:  no_info(D) ->
       [{Node,no_info} || {Node, no_info} <- D].
   
  -resolvers(D, Base, End) ->
  +resolvers(D, _Base, End) ->
       [{Node,
  -      [{N,adjust_time(T, Base),P} || {N, T, P} <- Rs, T < End]} || 
  +      [{N,T,P} || {N, T, P} <- Rs, T < End]} ||
           {Node, {info,State}} <- D,
           is_record(State, state),
           [] =/= (Rs = (state(State))#state.resolvers)].
  
positive.code: %% {show_state, From, To} 
  %%    From = To = integer() | {integer(), integer()}
  %%      Examples: {7, 8} (show states between seconds 7.0 and 8.0);
  %%                {{1,431234},{2,432}} (between 1.431234 and 2.000432)
  %%      The state of a node includes locks, names, nodes, known, ...
  %%      Default is {{0,0}, {0,0}}, that is, do not show state.
  %% show_state
  
negative.code:               {Node,T,Added,[{new_nodes,[Other|_]=NewNodes},_Abcast,_Ops]} <- Ns],
      Act ++ Pass.
  
  show_spurious(NodeTraceL, SpuriousL) ->
      TraceDomL = [{Node,ActionNode} ||
                      {{Node,ActionNode}, _Ts} <- NodeTraceL],
      SpuriousDomL = [{Node,ActionNode} ||
                         {{Node,ActionNode}, _Times} <- SpuriousL],
      S = sofs:restriction(sofs:relation(NodeTraceL), sofs:set(SpuriousDomL)),
      %% Some spurious lost:
      Spurious = sofs:restriction(sofs:relation(SpuriousL), sofs:set(TraceDomL)),
      [foo || 
          {{{Node,ANode},Times},
           {{Node,ANode},Ts}} <- lists:zip(family(sofs:to_external(Spurious)),
                                           sofs:to_external(S)),
          show_spurious2(Node, ANode, Times, lists:keysort(2, Ts))].
  
  show_spurious2(Node, ActionNode, Times, Ts) ->
      io:format("** Actions for ~p on node ~p **~n", [ActionNode, Node]),
      lists:map(fun(T) -> spurious(Node, T, Times) end, Ts),
      io:format("-- End of actions for ~p on node ~p --~n", [ActionNode, Node]),
  