anchor.diff:      {B1,B2} = rehash(B, Slot1, Slot2, T#set.maxn),
       Segs1 = put_bucket_s(Segs0, Slot1, B1),
       Segs2 = put_bucket_s(Segs1, Slot2, B2),
  -    T#set{size = T#set.size + Ic,
  +    T#set{size = T#set.size + 1,
   	  n = N,
   	  exp_size = N * ?expand_load,
   	  con_size = N * ?contract_load,
   	  segs = Segs2};
  -maybe_expand(T, Ic) -> T#set{size = T#set.size + Ic}.
  +maybe_expand(T) -> T#set{size = T#set.size + 1}.
   
   -spec maybe_expand_segs(set(E)) -> set(E).
   maybe_expand_segs(T) when T#set.n =:= T#set.maxn ->
  
positive.code:       Set2 :: set(Element).
  del_element(E, S0) ->
      Slot = get_slot(S0, E),
      {S1,Dc} = on_bucket(fun (B0) -> del_bkt_el(E, B0) end, S0, Slot),
      maybe_contract(S1, Dc).
  
  -spec del_bkt_el(T, [T]) -> {[T], 0 | 1}.
  del_bkt_el(E, [E|Bkt]) -> {Bkt,1};
  del_bkt_el(E, [Other|Bkt0]) ->
      {Bkt1,Dc} = del_bkt_el(E, Bkt0),
      {[Other|Bkt1],Dc};
  del_bkt_el(_, []) -> {[],0}.
  
  %% union(Set1, Set2) -> Set
  %%  Return the union of Set1 and Set2.
  
negative.code: -spec get_bucket(set(), non_neg_integer()) -> term().
  get_bucket(T, Slot) -> get_bucket_s(T#set.segs, Slot).
  
  %% fold_set(Fun, Acc, Dictionary) -> Dictionary.
  %% filter_set(Fun, Dictionary) -> Dictionary.
  
  