anchor.diff:  %%% provided as input.
   %%%===================================================================
   
  -count_duplicates(_Lns1 = #lns{head = nil}, _Lns2) ->
  -    0;
  -count_duplicates(_Lns1, _Lns2 = #lns{head = nil}) ->
  -    0;
   count_duplicates(Lns1, Lns2) ->
  -    Dict = traverse(Lns1),
  -    count_dups(Dict, head(Lns2)).
  +    process_dups(Lns1, Lns2, fun count_dups/2).
   
   %%%===================================================================
   %%% Internal Functions
  
positive.code: %%% duplicate instances found in the second inputlinked list
  %%%===================================================================
  
  show_duplicates(_Lns1 = #lns{head = nil}, _Lns2) ->
      {0};
  show_duplicates(_Lns1, _Lns2 = #lns{head= nil}) ->
      {0};
  show_duplicates(Lns1, Lns2) ->
      Dict = traverse(Lns1),
      show_dups(Dict, head(Lns2)).
  
  %%%===================================================================
  %%% Count duplicates for two Linked Lists. It shows how many nodes in
  
negative.code: traverse(Next, Dict) ->
      traverse(Next#node.next, dict:store(Next#node.value, 0, Dict)).
  
  show_dups(nil, nil) ->
      {0};
  show_dups(Dict, nil) ->
      dict:to_list(dict:filter(fun filter_predicate/2, Dict));
  show_dups(Dict, Next) ->
  