anchor.diff:  	      end, 0, Dict);
   count_dups(Dict, Next) ->
       count_dups(dict:update(Next#node.value, fun(V) -> V + 1 end, 0, Dict), Next#node.next).
  +
  +process_dups(_Lns1 = #lns{head = nil}, _Lns2, Fun) ->
  +    Fun(nil, nil);
  +process_dups(_Lns1, _Lns2 = #lns{head = nil}, Fun) ->
  +    Fun(nil, nil);
  +process_dups(Lns1, Lns2, Fun) ->
  +    Dict = traverse(Lns1),
  +    Fun(Dict, head(Lns2)).
  
positive.code: filter_predicate(_Key, Value) when Value =:= 0 ->
      false.
  
  count_dups(Dict, nil) ->
      dict:fold(fun(_Key, Value, AccIn) ->
  		      case Value > 0 of
  
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) ->
  