diff --git a/enum-types.cabal b/enum-types.cabal
--- a/enum-types.cabal
+++ b/enum-types.cabal
@@ -1,6 +1,6 @@
 cabal-version: 2.0
 name: enum-types
-version: 0.1.0.0
+version: 0.1.1.0
 description:
   This library provides small enumeration types intended to be
   used in test suites. This is most useful when used with a companion
@@ -32,6 +32,6 @@
 library
   exposed-modules: Data.Enum.Types
   hs-source-dirs: src
-  build-depends: base >= 4.9.1.0 && < 5
+  build-depends: base >= 4.11.1.0 && < 5
   default-language: Haskell2010
 
diff --git a/src/Data/Enum/Types.hs b/src/Data/Enum/Types.hs
--- a/src/Data/Enum/Types.hs
+++ b/src/Data/Enum/Types.hs
@@ -45,3 +45,69 @@
 data K = K0 | K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10
   deriving (Eq,Ord,Show,Read,Bounded,Enum)
 
+instance Semigroup A where
+  (<>) = min
+
+instance Semigroup B where
+  (<>) = min
+
+instance Semigroup C where
+  (<>) = min
+
+instance Semigroup D where
+  (<>) = min
+
+instance Semigroup E where
+  (<>) = min
+
+instance Semigroup F where
+  (<>) = min
+
+instance Semigroup G where
+  (<>) = min
+
+instance Semigroup H where
+  (<>) = min
+
+instance Semigroup I where
+  (<>) = min
+
+instance Semigroup J where
+  (<>) = min
+
+instance Semigroup K where
+  (<>) = min
+
+instance Monoid A where
+  mempty = maxBound
+
+instance Monoid B where
+  mempty = maxBound
+
+instance Monoid C where
+  mempty = maxBound
+
+instance Monoid D where
+  mempty = maxBound
+
+instance Monoid E where
+  mempty = maxBound
+
+instance Monoid F where
+  mempty = maxBound
+
+instance Monoid G where
+  mempty = maxBound
+
+instance Monoid H where
+  mempty = maxBound
+
+instance Monoid I where
+  mempty = maxBound
+
+instance Monoid J where
+  mempty = maxBound
+
+instance Monoid K where
+  mempty = maxBound
+
