anchor.diff:                            Hostname::node_details:hostname() | unknown,
                             RTSize::node_details:rt_size() | unknown,
                             MsgLog::node_details:message_log() | unknown,
  -                          Memory::node_details:memory() | unknown) -> true.
  -node_details_equals(NodeDetails, Pred, PredList, Node, MyRange, Succ, SuccList, Load, Hostname, RTSize, MsgLog, Memory) ->
  -    safe_compare(NodeDetails, pred, Pred),
  -    safe_compare(NodeDetails, predlist, PredList),
  -    safe_compare(NodeDetails, node, Node),
  -    safe_compare(NodeDetails, my_range, MyRange),
  -    safe_compare(NodeDetails, succ, Succ),
  -    safe_compare(NodeDetails, succlist, SuccList),
  -    safe_compare(NodeDetails, load, Load),
  -    safe_compare(NodeDetails, hostname, Hostname),
  -    safe_compare(NodeDetails, rt_size, RTSize),
  -    safe_compare(NodeDetails, message_log, MsgLog),
  -    safe_compare(NodeDetails, memory, Memory),
  +                          Memory::node_details:memory() | unknown,
  +                          Unknown::[node_details:node_details_name()],
  +                          Known::[node_details:node_details_name()]) -> true.
  +node_details_equals(NodeDetails, Pred, PredList, Node, MyRange, Succ, SuccList, Load, Hostname, RTSize, MsgLog, Memory, Unknown, Known) ->
  +    safe_compare(NodeDetails, pred, Pred, Unknown, Known),
  +    safe_compare(NodeDetails, predlist, PredList, Unknown, Known),
  +    safe_compare(NodeDetails, node, Node, Unknown, Known),
  +    safe_compare(NodeDetails, my_range, MyRange, Unknown, Known),
  +    safe_compare(NodeDetails, succ, Succ, Unknown, Known),
  +    safe_compare(NodeDetails, succlist, SuccList, Unknown, Known),
  +    safe_compare(NodeDetails, load, Load, Unknown, Known),
  +    safe_compare(NodeDetails, hostname, Hostname, Unknown, Known),
  +    safe_compare(NodeDetails, rt_size, RTSize, Unknown, Known),
  +    safe_compare(NodeDetails, message_log, MsgLog, Unknown, Known),
  +    safe_compare(NodeDetails, memory, Memory, Unknown, Known),
       true.
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
positive.code:     NodeDetails2 = node_details:new(PredList, Node, SuccList, Load, Hostname, RTSize, Memory),
      NodeDetails1_new = node_details:set(NodeDetails1, predlist, PredListTest),
      NodeDetails2_new = node_details:set(NodeDetails2, predlist, PredListTest),
      node_details_equals(NodeDetails1_new, hd(PredListTest), PredListTest, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown) andalso
      node_details_equals(NodeDetails2_new, hd(PredListTest), PredListTest, Node, unknown, hd(SuccList), SuccList, Load, Hostname, RTSize, unknown, Memory).
  
  -spec test_set_get_node(Node::node:node_type()) -> true.
  test_set_get_node(NodeTest) ->
  
negative.code:                              node_details:rt_size() |
                               node_details:message_log() |
                               node_details:memory() |
                               unknown,
                     Unknown::[node_details:node_details_name()],
                     Known::[node_details:node_details_name()]) -> true.
  safe_compare(NodeDetails, Tag, ExpValue, Unknown, Known) ->
      ValIsUnknown = (ExpValue =:= unknown) andalso
                         ((Known =:= [] andalso lists:member(Tag, Unknown)) orelse
                          (Unknown =:= [] andalso not lists:member(Tag, Known))),
      case ValIsUnknown of
          true -> ?equals_w_note(node_details:contains(NodeDetails, Tag), false, atom_to_list(Tag));
          _    -> ?equals_w_note(node_details:get(NodeDetails, Tag), ExpValue, atom_to_list(Tag))
      end,
      true.
  
  %% @doc Compares NodeDetails with the given values. Either Unknown or Known
  %%      must be non-empty. A value is unknown (and thus not part of the
  %%      NodeDetails object) if its tag is either in Unknown and Known is emty
  %%      or if its tag is not in Known and Unknown is empty.
  -spec node_details_equals(NodeDetails::node_details:node_details(),
                            Pred::node:node_type() | unknown,
                            PredList::nodelist:non_empty_snodelist() | unknown,
  