anchor.diff:  % @doc lists all correct entries of this structure
   %     correct entries can be retrieved out of pure cells
   %     a pure cell := count = 1 and check_sum(keySum)=keyHashSum and check_sum(valSum)=valHashSum
  --spec list_entries(iblt()) -> [{key(), value()}].
  +-spec list_entries(iblt()) -> [{?RT:key(), value()}].
   list_entries(IBLT) ->
       p_list_entries(IBLT, []).
   
  --spec p_list_entries(iblt(), [{key(), value()}]) -> [{key(), value()}].
  +-spec p_list_entries(iblt(), Acc) -> Acc when is_subtype(Acc, [{?RT:key(), value()} | [{?RT:key(), value()}]]).
   p_list_entries(#iblt{ table = T } = IBLT, Acc) ->
       case get_any_entry(T, []) of
  -        [] -> Acc;
  +        [] -> lists:flatten(Acc);
           L ->
               NewIBLT = lists:foldl(fun({Key, Val}, NT) -> 
                                             delete(NT, Key, Val) 
                                     end, IBLT, L),
  -            p_list_entries(NewIBLT, lists:append([L, Acc]))
  +            p_list_entries(NewIBLT, [L, Acc])
       end.
   
   % tries to find any pure entry 
  --spec get_any_entry(table(), [{key(), value()}]) -> [{key() | value()}].
  +-spec get_any_entry(table(), [{?RT:key(), value()}]) -> [{?RT:key(), value()}].
   get_any_entry([], Acc) -> 
       Acc;
   get_any_entry([{_, Col} | T], Acc) ->
  -    Result = [{Key, Val} || {Count, Key, KCheck, Val, ValCheck} <- Col, 
  -                            is_pure({Count, Key, KCheck, Val, ValCheck})],
  +    Result = [{decode_key(Key), Val} || {_, Key, _, Val, _} = Cell <- Col,
  +                                        is_pure(Cell)],
       if 
           Result =:= [] -> get_any_entry(T, lists:append([Result, Acc]));
           true -> Result
  
positive.code: 
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  -spec insert(iblt(), key(), value()) -> iblt().
  insert(IBLT, Key, Value) ->
      change_table(IBLT, add, Key, Value).
  
  -spec delete(iblt(), key(), value()) -> iblt().
  delete(IBLT, Key, Value) ->
      change_table(IBLT, remove, Key, Value).
  
  
negative.code: 
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  -spec get(iblt(), ?RT:key()) -> value() | not_found.
  get(#iblt{ table = T, hfs = Hfs, col_size = ColSize }, Key) ->
      p_get(T, Hfs, ColSize, Key).
  
  -spec p_get(table(), ?REP_HFS:hfs(), non_neg_integer(), ?RT:key()) -> value() | not_found.
  p_get([], _, _, _) -> not_found;
  p_get([{ColNr, Col} | T], Hfs, ColSize, Key) ->
      Cell = lists:nth((?REP_HFS:apply_val(Hfs, ColNr, Key) rem ColSize) + 1, Col),
  