diff --git a/Data/Constraint/Lifting.hs b/Data/Constraint/Lifting.hs
--- a/Data/Constraint/Lifting.hs
+++ b/Data/Constraint/Lifting.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE QuantifiedConstraints #-}
 module Data.Constraint.Lifting where
 
 import Prelude hiding (Functor, (.), id)
@@ -16,18 +17,16 @@
 
 type Endolifting c = Lifting c c
 
---instance (∀ a . c a => d (f a)) => Lifting c d f where lift = Sub Dict
-
 instance Lifting c Unconstrained1 f where lift = Sub Dict
 
-instance Lifting Semigroup Monoid Maybe where lift = Sub Dict
-
-instance Lifting Semigroup Semigroup ((->) a) where lift = Sub Dict
-instance Lifting Monoid Monoid ((->) a) where lift = Sub Dict
-
-instance Semigroup a => Lifting Semigroup Semigroup ((,) a) where lift = Sub Dict
-instance Monoid a => Lifting Monoid Monoid ((,) a) where lift = Sub Dict
-
 instance Lifting (Functor s (->)) (Functor (NT s) (NT (->))) Compose where lift = Sub Dict
 
 instance Lifting Category Groupoid Iso where lift = Sub Dict
+
+instance (∀ a . Eq a => c (f a)) => Lifting Eq c f where lift = Sub Dict
+instance (∀ a . Ord a => c (f a)) => Lifting Ord c f where lift = Sub Dict
+instance (∀ a . Bounded a => c (f a)) => Lifting Bounded c f where lift = Sub Dict
+instance (∀ a . Semigroup a => c (f a)) => Lifting Semigroup c f where lift = Sub Dict
+instance (∀ a . Monoid a => c (f a)) => Lifting Monoid c f where lift = Sub Dict
+instance (∀ a . Read a => c (f a)) => Lifting Read c f where lift = Sub Dict
+instance (∀ a . Show a => c (f a)) => Lifting Show c f where lift = Sub Dict
diff --git a/Setup.hs b/Setup.hs
deleted file mode 100644
--- a/Setup.hs
+++ /dev/null
@@ -1,2 +0,0 @@
-import Distribution.Simple
-main = defaultMain
diff --git a/constraint.cabal b/constraint.cabal
--- a/constraint.cabal
+++ b/constraint.cabal
@@ -1,5 +1,5 @@
 name:                constraint
-version:             0.1.3.0
+version:             0.1.4.0
 synopsis:            Reified constraints
 -- description:         
 license:             BSD3
