diff --git a/bytestring-tree-builder.cabal b/bytestring-tree-builder.cabal
--- a/bytestring-tree-builder.cabal
+++ b/bytestring-tree-builder.cabal
@@ -1,7 +1,7 @@
 name:
   bytestring-tree-builder
 version:
-  0.2.5
+  0.2.6
 category:
   ByteString
 synopsis:
diff --git a/library/ByteString/TreeBuilder.hs b/library/ByteString/TreeBuilder.hs
--- a/library/ByteString/TreeBuilder.hs
+++ b/library/ByteString/TreeBuilder.hs
@@ -45,8 +45,14 @@
   {-# INLINABLE mappend #-}
   mappend (Builder length1 tree1) (Builder length2 tree2) =
     Builder (length1 + length2) (A.Branch tree1 tree2)
+  {-# INLINE mconcat #-}
+  mconcat =
+    foldl' mappend mempty
 
-instance Semigroup Builder
+instance Semigroup Builder where
+  {-# INLINE sconcat #-}
+  sconcat =
+    foldl' mappend mempty
 
 instance IsString Builder where
   {-# INLINE fromString #-}
