anchor.diff:                          true
                       end)).
   
  +est_prop() ->
  +    %% It's hard to estimate under 10000 keys
  +    ?FORALL(N, choose(10000, 500000),
  +            begin
  +                {ok, EstKeys} = estimate_keys(update_tree(insert_many(N, new()))),
  +                Diff = abs(N - EstKeys),
  +                MaxDiff = N div 5,
  +                ?debugVal(Diff), ?debugVal(EstKeys),?debugVal(MaxDiff),
  +                ?assertEqual(true, MaxDiff > Diff),
  +                true
  +            end).
  +
  +est_test_() ->
  +    {spawn,
  +     {timeout, 240,
  +      fun() ->
  +              ?assert(eqc:quickcheck(eqc:testing_time(10, est_prop())))
  +      end
  +     }}.
  +
   -endif.
  
positive.code:         _ ->
              undefined
      end.
  
  -spec key_hashes(hashtree(), integer()) -> [{integer(), orddict()}].
  key_hashes(State, Segment) ->
  
negative.code:          new/3,
           insert/3,
           insert/4,
           estimate_keys/1,
           delete/2,
           update_tree/1,
           update_snapshot/1,
  