diff --git a/Data/Thrist.hs b/Data/Thrist.hs
--- a/Data/Thrist.hs
+++ b/Data/Thrist.hs
@@ -1,18 +1,18 @@
 {-# LANGUAGE GADTs, RankNTypes, KindSignatures, FlexibleInstances, TypeOperators, PolyKinds #-}
 module Data.Thrist (
-      -- * Types:
+      -- * Types
         Thrist (..)
       , Flipped (..)
-      -- * Fold and map functions:
+      -- * Fold and map functions
       , mapThrist
       , foldrThrist
       , foldlThrist
       , foldr1Thrist
       , foldl1Thrist
-      -- ** Monadic functions:
+      -- ** Monadic functions
       , mapMThrist
       , foldMThrist
-      -- * Other list-like functions:
+      -- * Other list-like functions
       , appendThrist
       , nullThrist
       , lengthThrist
@@ -20,7 +20,7 @@
 
 import Prelude hiding ((.), id)
 import Control.Category
-import Data.Monoid
+import Data.Monoid ()
 import Control.Arrow
 import Control.Monad
 
@@ -29,6 +29,9 @@
 data Thrist :: (k -> k -> *) -> k -> k -> * where
   Nil :: Thrist arr a a
   Cons :: (a `arr` b) -> Thrist arr b c -> Thrist arr a c
+
+instance Semigroup (Thrist arr a a) where
+  (<>) = mappend
 
 instance Monoid (Thrist arr a a) where
   mempty  = Nil
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2008-2014 Gabor Greif and Brandon Simmons
+Copyright (c) 2008-2018 Gabor Greif and Brandon Simmons
 
 All rights reserved.
 
diff --git a/thrist.cabal b/thrist.cabal
--- a/thrist.cabal
+++ b/thrist.cabal
@@ -1,5 +1,5 @@
 Name:                thrist
-Version:             0.3.0.2
+Version:             0.4
 Synopsis:            Type-threaded list
 
 Description:
@@ -12,7 +12,7 @@
     .
     This threading of types is the foundation for
     thrists' nice properties. E.g., paired with a
-    suitable semantics, function composition (.)
+    suitable semantics, function composition $(.)$
     can be embedded.
     .
     Technically a thrist is embodying the concept
@@ -23,12 +23,12 @@
     .
     For further ideas, please consult the companion
     (draft) paper \"Thrists: Dominoes of Data\" at
-    <http://omega.googlecode.com/files/Thrist-draft-2011-11-20.pdf>
+    <https://github.com/ggreif/omega/blob/master/doc/Thrist-draft-2011-11-20.pdf>
 
 Category:            Data Structures, Categories
 License:             BSD3
 License-File:        LICENSE
-Copyright:           (c) 2008-2014 Gabor Greif and Brandon Simmons
+Copyright:           (c) 2008-2018 Gabor Greif and Brandon Simmons
 
 Author:              Gabor Greif, Brandon Simmons
 Maintainer:          ggreif+thrist@gmail.com, brandon.m.simmons+thrist@gmail.com
@@ -36,7 +36,7 @@
 Bug-Reports:         mailto:ggreif+thrist@gmail.com
 
 Stability:           experimental
-Tested-With:         GHC == 7.6.1, GHC == 7.8.2
+Tested-With:         GHC == 8.4.3, GHC == 8.4.4, GHC == 8.6.1, GHC == 8.6.2
 Cabal-Version:       >= 1.6
 Extra-Source-Files:  changes.txt examples.hs
 Build-Type:          Simple
@@ -46,7 +46,7 @@
   Location: http://hub.darcs.net/heisenbug/thrist
 
 Library
-    Build-Depends:       base >= 4.6 && < 5
+    Build-Depends:       base >= 4.11 && < 5
     Exposed-Modules:     Data.Thrist Data.Thrist.List Data.Thrist.Monad
     Extensions:          GADTs, RankNTypes, KindSignatures, FlexibleInstances, TypeOperators,
                          PolyKinds
