diff --git a/battleship-combinatorics.cabal b/battleship-combinatorics.cabal
--- a/battleship-combinatorics.cabal
+++ b/battleship-combinatorics.cabal
@@ -1,5 +1,5 @@
 Name:             battleship-combinatorics
-Version:          0.0
+Version:          0.0.0.1
 License:          BSD3
 License-File:     LICENSE
 Author:           Henning Thielemann <haskell@henning-thielemann.de>
@@ -17,7 +17,7 @@
 Build-Type:       Simple
 
 Source-Repository this
-  Tag:         0.0
+  Tag:         0.0.0.1
   Type:        darcs
   Location:    http://hub.darcs.net/thielema/battleship-combinatorics/
 
@@ -40,8 +40,9 @@
     containers >=0.4.2 && <0.6,
     deepseq >=1.3 && <1.5,
     non-empty >=0.2.1 && <0.4,
+    semigroups >=0.1 && <1.0,
     transformers >=0.3 && <0.6,
-    utility-ht >=0.0.8 && <0.13,
+    utility-ht >=0.0.8 && <0.1,
     prelude-compat >=0.0 && <0.0.1,
     base >=4.5 && <5
 
diff --git a/src/Combinatorics/Battleship/Fleet.hs b/src/Combinatorics/Battleship/Fleet.hs
--- a/src/Combinatorics/Battleship/Fleet.hs
+++ b/src/Combinatorics/Battleship/Fleet.hs
@@ -40,6 +40,7 @@
 import Data.Bool.HT (if', )
 
 import Data.Monoid (Monoid, mempty, mappend, )
+import Data.Semigroup (Semigroup, (<>), )
 import Data.Bits ((.&.), (.|.), xor, shiftL, shiftR, )
 import Data.Word (Word32, )
 
@@ -66,9 +67,12 @@
          showString "Fleet.fromList " .
          shows (toList x)
 
+instance Semigroup T where
+   Cons x <> Cons y = Cons (x+y)
+
 instance Monoid T where
    mempty = Cons 0
-   mappend (Cons x) (Cons y) = Cons (x+y)
+   mappend = (<>)
 
 instance Storable T where
    sizeOf = Store.sizeOf decons
