diff --git a/src/Data/Witness/ListElement.hs b/src/Data/Witness/ListElement.hs
--- a/src/Data/Witness/ListElement.hs
+++ b/src/Data/Witness/ListElement.hs
@@ -12,16 +12,16 @@
     modifyListElement :: (HasListElement n t) => Nat n -> (ListElement n t -> ListElement n t) -> t -> t;
     modifyListElement n aa t = putListElement n (aa (getListElement n t)) t;
 
-    instance HasListElement Zero (a,r) where
+    instance HasListElement 'Zero (a,r) where
     {
-        type ListElement Zero (a,r) = a;
+        type ListElement 'Zero (a,r) = a;
         getListElement _ (a,_) = a;
         putListElement _ a (_,r) = (a,r);
     };
 
-    instance (HasListElement n r) => HasListElement (Succ n) (a,r) where
+    instance (HasListElement n r) => HasListElement ('Succ n) (a,r) where
     {
-        type ListElement (Succ n) (a,r) = ListElement n r;
+        type ListElement ('Succ n) (a,r) = ListElement n r;
         getListElement (SuccNat n) (_,r) = getListElement n r;
         putListElement (SuccNat n) a (f,r) = (f,putListElement n a r);
     };
diff --git a/src/Data/Witness/Nat.hs b/src/Data/Witness/Nat.hs
--- a/src/Data/Witness/Nat.hs
+++ b/src/Data/Witness/Nat.hs
@@ -10,8 +10,8 @@
 
     data Nat (t :: NatKind) where
     {
-        ZeroNat :: Nat Zero;
-        SuccNat :: Nat t -> Nat (Succ t);
+        ZeroNat :: Nat 'Zero;
+        SuccNat :: Nat t -> Nat ('Succ t);
     };
 
     instance TestEquality Nat where
@@ -39,12 +39,12 @@
         };
     };
 
-    instance Is Nat Zero where
+    instance Is Nat 'Zero where
     {
         representative = ZeroNat;
     };
 
-    instance (Is Nat n) => Is Nat (Succ n) where
+    instance (Is Nat n) => Is Nat ('Succ n) where
     {
         representative = SuccNat representative;
     };
diff --git a/witness.cabal b/witness.cabal
--- a/witness.cabal
+++ b/witness.cabal
@@ -1,6 +1,6 @@
 cabal-version:  >=1.14
 name:           witness
-version:        0.3
+version:        0.3.0.1
 x-follows-version-policy:
 license:        BSD3
 license-file:   LICENSE
@@ -36,10 +36,10 @@
         ScopedTypeVariables
         PatternGuards
     build-depends:
-        base == 4.*,
-        transformers >=0.3,
-        categories == 1.0.*,
-        constraints >= 0.3
+        base >= 4.7 && < 5,
+        transformers,
+        categories,
+        constraints
     exposed-modules:
         Data.Witness.Any
         Data.Witness.WitnessDict
