anchor.diff:  -spec test_merge(any()) -> ok.
   test_merge(_Config) ->
       % use the same tests as in test_add_nodes/1 and let mk_beighborhood create the appropriate neighborhood structures:
  -        N8 = node:new(pid1,   8, 0),
  -    N9 = node:new(pid1,   9, 1), % N8 updated
  -    N14 = node:new(pid2, 14, 0),
  -    N15 = node:new(pid2, 15, 1), % N14 updated
  -    N20 = node:new(pid3, 20, 0),
  -    N21 = node:new(pid3, 21, 1), % N20 updated
  -    N33 = node:new(pid4, 33, 0),
  -    N42 = node:new(pid5, 42, 0),
  -    N50 = node:new(pid6, 50, 0),
  -    N66 = node:new(pid7, 66, 0),
  +    N8 = node:new(pid1,   ?KEY(8), 0),
  +    N9 = node:new(pid1,   ?KEY(9), 1), % N8 updated
  +    N14 = node:new(pid2, ?KEY(14), 0),
  +    N15 = node:new(pid2, ?KEY(15), 1), % N14 updated
  +    N20 = node:new(pid3, ?KEY(20), 0),
  +    N21 = node:new(pid3, ?KEY(21), 1), % N20 updated
  +    N33 = node:new(pid4, ?KEY(33), 0),
  +    N42 = node:new(pid5, ?KEY(42), 0),
  +    N50 = node:new(pid6, ?KEY(50), 0),
  +    N66 = node:new(pid7, ?KEY(66), 0),
       
       Neighb1 = nodelist:mk_neighborhood([N8, N14, N50], N33),
       Neighb2 = nodelist:mk_neighborhood([N8, N14, N50], N33, 3, 3),
  
positive.code: %% @doc Tests for nodelist:filter/2.
  -spec test_filter2(any()) -> ok.
  test_filter2(_Config) ->
      N8 = node:new(pid1,   8, 0),
      N9 = node:new(pid1,   9, 1), % N8 updated
      N14 = node:new(pid2, 14, 0),
      N20 = node:new(pid3, 20, 0),
      N33 = node:new(pid4, 33, 0),
      N42 = node:new(pid5, 42, 0),
      N50 = node:new(pid6, 50, 0),
      N66 = node:new(pid7, 66, 0),
      
      Neighb1 = nodelist:mk_neighborhood([N8, N14, N42, N50], N33),
      Neighb2 = nodelist:mk_neighborhood([N8, N14, N42, N50], N33, 3, 3),
  
negative.code:     % Neighb3 = nodelist:mk_neighborhood([N8, N14, N42, N50], N33, 2, 2),
      % remove existing nodes:
      ?compare_neighborhood(nodelist:filter(Neighb3, fun(N) -> not node:same_process(N, N8) end),
                            N33, N14, [N14], N42, [N42, N50], true, true),
      ?compare_neighborhood(nodelist:filter(Neighb3, fun(N) -> not node:same_process(N, N14) end),
                            N33, N8, [N8], N42, [N42, N50], true, true),
      ?compare_neighborhood(nodelist:filter(Neighb3, fun(N) -> not node:same_process(N, N42) end),
                            N33, N14, [N14, N8], N50, [N50], true, true),
      ?compare_neighborhood(nodelist:filter(Neighb3, fun(N) -> not node:same_process(N, N50) end),
                            N33, N14, [N14, N8], N42, [N42], true, true),
  
      % remove non-existing nodes and pids:
      ?equals(nodelist:filter(Neighb3, fun(N) -> not node:same_process(N, N20) end), Neighb3),
  