diff --git a/audacity.cabal b/audacity.cabal
--- a/audacity.cabal
+++ b/audacity.cabal
@@ -1,5 +1,5 @@
 Name:                audacity
-Version:             0.0.1.3
+Version:             0.0.2
 Synopsis:            Interchange with the Audacity sound signal editor
 Description:
   This package provides functions
@@ -41,7 +41,7 @@
 Cabal-Version:       >=1.10
 
 Source-Repository this
-  Tag:         0.0.1.3
+  Tag:         0.0.2
   Type:        darcs
   Location:    http://hub.darcs.net/thielema/audacity
 
@@ -75,6 +75,7 @@
     non-empty >=0.2.1 && <0.4,
     utility-ht >=0.0.10 && <0.1,
     explicit-exception >=0.1.7 && <0.2,
+    semigroups >=0.1 && <1.0,
     transformers >=0.3 && <0.6,
     deepseq >=1.3 && <1.5,
     base >=4.5 && <5
diff --git a/src/Sound/Audacity/LabelTrack.hs b/src/Sound/Audacity/LabelTrack.hs
--- a/src/Sound/Audacity/LabelTrack.hs
+++ b/src/Sound/Audacity/LabelTrack.hs
@@ -9,6 +9,8 @@
 import qualified Data.Traversable as Trav
 import qualified Data.Foldable as Fold
 import qualified Data.Monoid as Mn
+import qualified Data.Semigroup as Sg
+import qualified Data.List.NonEmpty as NonEmpty
 import qualified Data.List.HT as ListHT
 import Data.Tuple.HT (mapFst, mapSnd, mapPair)
 
@@ -35,6 +37,10 @@
 instance Trav.Traversable (T time) where
    sequenceA =
       fmap Cons . Trav.traverse (\(bnd, label) -> fmap ((,) bnd) label) . decons
+
+instance Sg.Semigroup (T time label) where
+   Cons xs <> Cons ys = Cons $ xs ++ ys
+   sconcat = Cons . concatMap decons . NonEmpty.toList
 
 instance Mn.Monoid (T time label) where
    mempty = empty
