diff --git a/comparison-benchmark/Main.hs b/comparison-benchmark/Main.hs
--- a/comparison-benchmark/Main.hs
+++ b/comparison-benchmark/Main.hs
@@ -80,17 +80,17 @@
 
 {-# NOINLINE smallInput #-}
 smallInput :: ByteString
-!smallInput =
+smallInput =
   inputOfSize 3
   
 {-# NOINLINE mediumInput #-}
 mediumInput :: ByteString
-!mediumInput =
+mediumInput =
   inputOfSize 10
 
 {-# NOINLINE largeInput #-}
 largeInput :: ByteString
-!largeInput =
+largeInput =
   inputOfSize 100
 
 inputOfSize :: Int -> ByteString
diff --git a/library/URLDecoders/ByteString/Builder.hs b/library/URLDecoders/ByteString/Builder.hs
--- a/library/URLDecoders/ByteString/Builder.hs
+++ b/library/URLDecoders/ByteString/Builder.hs
@@ -9,6 +9,9 @@
 data Builder =
   Builder !(D.Ptr Word8 -> IO (D.Ptr Word8)) !Int
 
+instance Semigroup Builder where
+  (<>) = mappend
+
 instance Monoid Builder where
   {-# INLINE mempty #-}
   mempty =
diff --git a/url-decoders.cabal b/url-decoders.cabal
--- a/url-decoders.cabal
+++ b/url-decoders.cabal
@@ -1,7 +1,7 @@
 name:
   url-decoders
 version:
-  0.2
+  0.2.1
 category:
   Web, Codecs
 synopsis:
@@ -47,12 +47,12 @@
   default-language:
     Haskell2010
   build-depends:
-    unordered-containers == 0.2.*,
-    binary-parser == 0.5.*,
-    bytestring >= 0.10.8 && < 0.11,
-    text >= 1 && < 2,
-    base-prelude < 2,
-    base < 5
+    unordered-containers ==0.2.*,
+    binary-parser ==0.5.*,
+    bytestring >=0.10.8 && <0.11,
+    text >=1 && <2,
+    base-prelude <2,
+    base <5
 
 test-suite tests
   type:
@@ -68,16 +68,14 @@
   default-language:
     Haskell2010
   build-depends:
-    url-decoders,
-    http-types == 0.9.*,
-    -- testing:
-    tasty == 0.11.*,
-    tasty-quickcheck == 0.8.*,
-    tasty-hunit == 0.9.*,
-    quickcheck-instances >= 0.3.11 && < 0.4,
-    QuickCheck >= 2.8.1 && < 2.10,
-    -- 
-    rerebase < 2
+    http-types ==0.12.*,
+    QuickCheck >=2.8.1 && <3,
+    quickcheck-instances >=0.3.11 && <0.4,
+    rerebase <2,
+    tasty >=0.12 && <2,
+    tasty-hunit >=0.9 && <0.11,
+    tasty-quickcheck >=0.9 && <0.11,
+    url-decoders
 
 benchmark primary-benchmark
   type: 
@@ -99,11 +97,11 @@
     -- 
     url-decoders,
     -- 
-    http-types == 0.9.*,
+    http-types ==0.12.*,
     -- benchmarking:
-    criterion == 1.1.*,
+    criterion ==1.5.*,
     -- general:
-    rerebase == 1.*
+    rerebase ==1.*
 
 benchmark comparison-benchmark
   type: 
@@ -125,8 +123,8 @@
     -- 
     url-decoders,
     -- 
-    http-types == 0.9.*,
+    http-types ==0.12.*,
     -- benchmarking:
-    criterion == 1.1.*,
+    criterion ==1.5.*,
     -- general:
-    rerebase == 1.*
+    rerebase ==1.*
