Compact the binary structure when it makes sense.
diff --git a/src/hyper.erl b/src/hyper.erl
index dc770be..6775b92 100644
--- a/src/hyper.erl
+++ b/src/hyper.erl
@@ -281,7 +281,7 @@
     Ps    = [15],
     Cards = [1, 100, 1000, 5000, 10000, 15000, 25000, 50000, 100000, 1000000],
     Mods  = [hyper_gb, hyper_array, hyper_bisect, hyper_binary],
-    Repeats = 1,
+    Repeats = 10,
 
     random:seed(1, 2, 3),
 
@@ -305,16 +305,15 @@
                                      insert_many(Values, H)
                              end,
                              [generate_unique(Card), new(P, Mod)]),
+             ReusableH = insert_many(generate_unique(Card), new(P, Mod)),
 
              UnionUs = Time(fun union/2,
                             [insert_many(generate_unique(Card div 10), new(P, Mod)),
-                             insert_many(generate_unique(Card), new(P, Mod))]),
+                             ReusableH]),
 
-             CardUs = Time(fun card/1,
-                           [insert_many(generate_unique(Card), new(P, Mod))]),
+             CardUs = Time(fun card/1, [ReusableH]),
 
-             ToJsonUs = Time(fun to_json/1,
-                             [insert_many(generate_unique(Card), new(P, Mod))]),
+             ToJsonUs = Time(fun to_json/1, [ReusableH]),
 
 
              Filter = insert_many(generate_unique(Card), new(P, Mod)),
diff --git a/src/hyper_binary.erl b/src/hyper_binary.erl
index 865ae12..d5125b4 100644
--- a/src/hyper_binary.erl
+++ b/src/hyper_binary.erl
@@ -24,7 +24,15 @@
                 {Index, TmpR} when TmpR > Value ->
                     {dense, B, Tmp, TmpCount};
                 _ ->
-                    {dense, B, lists:keystore(Index, 1, Tmp, {Index, Value}), TmpCount+1}
+                    New = {dense, B,
+                           lists:keystore(Index, 1, Tmp, {Index, Value}),
+                           TmpCount + 1},
+                    case TmpCount < 100 of
+                        true ->
+                            New;
+                        false ->
+                            compact(New)
+                    end
             end;
         _ ->
             {dense, B, Tmp, TmpCount}