anchor.diff:      [?kv(Key,F(Key, Val))|map_bucket(F, Bkt)];
   map_bucket(F, []) when is_function(F, 2) -> [].
   
  +filter_dict(F, #dict{size=0} = Dict) when is_function(F, 2) ->
  +    Dict;
   filter_dict(F, D) ->
       Segs0 = tuple_to_list(D#dict.segs),
       {Segs1,Fc} = filter_seg_list(F, Segs0, [], 0),
  
positive.code: %%  could have implemented map and filter using fold but these are
  %%  faster.  We hope!
  
  fold_dict(F, Acc, D) ->
      Segs = D#dict.segs,
      fold_segs(F, Acc, Segs, tuple_size(Segs)).
  
negative.code:     fold_bucket(F, F(Key, Val, Acc), Bkt);
  fold_bucket(F, Acc, []) when is_function(F, 3) -> Acc.
  
  map_dict(F, #dict{size=0} = Dict) when is_function(F, 2) ->
      Dict;
  map_dict(F, D) ->
      Segs0 = tuple_to_list(D#dict.segs),
      Segs1 = map_seg_list(F, Segs0),
  