anchor.diff:  
   %% @doc Return bloom filter debug information.
   -spec print(bloom_filter()) -> [{atom(), any()}].
  -print(#bloom{size = Size, hfs = Hfs, items_count = NumItems} = Bloom) ->
  +print(#bloom{filter = Filter, hfs = Hfs, items_count = NumItems} = Bloom) ->
  +    Size = erlang:bit_size(Filter),
       HCount = ?REP_HFS:size(Hfs),
       [{filter_bit_size, Size},
        {struct_byte_size, byte_size(term_to_binary(Bloom))},
  
positive.code: 
  %% @doc joins two bloom filter, returned bloom filter represents their union
  -spec join(bloom_filter(), bloom_filter()) -> bloom_filter().
  join(#bloom{size = Size, items_count = Items1,
              filter = <<>>, hfs = Hfs},
       #bloom{size = Size, items_count = Items2,
              filter = F2}) ->
      #bloom{size = Size, filter = F2, hfs = Hfs,
             items_count = Items1 + Items2 %approximation
             };
  join(#bloom{size = Size, items_count = Items1, filter = F1, hfs = Hfs},
       #bloom{size = Size, items_count = Items2, filter = <<>>}) ->
      #bloom{size = Size, filter = F1, hfs = Hfs,
             items_count = Items1 + Items2 %approximation
             };
  join(#bloom{size = Size, items_count = Items1, filter = F1, hfs = Hfs},
       #bloom{size = Size, items_count = Items2, filter = F2}) ->
      <<F1Val : Size>> = F1,
      <<F2Val : Size>> = F2,
      NewFVal = F1Val bor F2Val,
      #bloom{size = Size, filter = <<NewFVal:Size>>, hfs = Hfs,
             items_count = Items1 + Items2 %approximation
             }.
  
  
negative.code:         end,
      Bloom#bloom{filter = F, items_count = FilledCount + ItemsL}.
  
  -compile({inline, [p_add_list_v1/4, p_add_list_v2/4]}).
  
  % V1 - good for few items / positions to set
  % faster than lists:foldl
  -spec p_add_list_v1(Hfs::?REP_HFS:hfs(), BFSize::non_neg_integer(),
                      BF1::binary(), Items::[key()]) -> BF2::binary().
  p_add_list_v1(Hfs, BFSize, BF, [Item | Items]) ->
      Positions = ?REP_HFS:apply_val_rem(Hfs, Item, BFSize),
      p_add_list_v1(Hfs, BFSize, set_bits(BF, Positions), Items);
  p_add_list_v1(_Hfs, _BFSize, BF, []) ->
      BF.
  
  % V2 - good for large number of items / positions to set
  