diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
 # n-tuple
 
+This is a silly implementation of "homogeneous n-length tuples" -- basically
+an array. Internally, it builds a `Vector`, and projections just pull that index.
 
 ```haskell
 {-# LANGUAGE DataKinds -#}
diff --git a/n-tuple.cabal b/n-tuple.cabal
--- a/n-tuple.cabal
+++ b/n-tuple.cabal
@@ -1,13 +1,15 @@
--- This file has been generated from package.yaml by hpack version 0.21.2.
+cabal-version: 1.12
+
+-- This file has been generated from package.yaml by hpack version 0.35.2.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 17c9efc57c5bc53e00f65b0975640b32118c7241bde8b404e1aaef40ab7ae29e
+-- hash: 4ef6565b8f250ce02a19d82b03f0f8cca0733fe789ef59557c4f669ef7405f90
 
 name:           n-tuple
-version:        0.0.2.0
+version:        0.0.3
 synopsis:       Homogeneous tuples of arbitrary length.
-description:    Please see the README on Github at <https://github.com/athanclark/sparrow-server#readme>
+description:    Please see the README on Github at <https://github.com/athanclark/n-tuple#readme>
 homepage:       https://github.com/athanclark/n-tuple#readme
 bug-reports:    https://github.com/athanclark/n-tuple/issues
 author:         Athan Clark
@@ -16,8 +18,6 @@
 license:        BSD3
 license-file:   LICENSE
 build-type:     Simple
-cabal-version:  >= 1.10
-
 extra-source-files:
     README.md
 
@@ -34,7 +34,7 @@
       src
   ghc-options: -Wall
   build-depends:
-      base ==4.10.*
-    , singletons >=2.3 && <2.4
+      base >=4.11 && <5
+    , singletons-base >=3
     , vector
   default-language: Haskell2010
diff --git a/src/Data/NTuple.hs b/src/Data/NTuple.hs
--- a/src/Data/NTuple.hs
+++ b/src/Data/NTuple.hs
@@ -36,9 +36,9 @@
 import GHC.TypeLits
 import Data.Proxy (Proxy (..))
 import Data.List (intercalate)
-import Data.Singletons.Prelude (If)
-import Data.Singletons.Prelude.Eq (PEq ((:==)))
-import Data.Singletons.Prelude.Ord (POrd ((:>)))
+import Prelude.Singletons (If)
+import Data.Eq.Singletons (PEq ((==)))
+import Data.Ord.Singletons (POrd ((>)))
 
 import Data.Data (Data, Typeable)
 import GHC.Generics (Generic)
@@ -59,7 +59,7 @@
 
 -- | Project an element out of the tuple
 proj :: ( n <= size
-        , (n :> 0) ~ 'True
+        , (n > 0) ~ 'True
         , KnownNat n
         )
       => Proxy n -- ^ The index
@@ -70,9 +70,9 @@
 
 -- | Include an element to the tuple, overwriting on an existing index
 incl :: ( n <= (size + 1)
-        , (n :> 0) ~ 'True
+        , (n > 0) ~ 'True
         , KnownNat n
-        , size' ~ If (n :== (size + 1)) (size + 1) size
+        , size' ~ If (n == (size + 1)) (size + 1) size
         )
      => Proxy n -- ^ The index
      -> a
