diff --git a/n-tuple.cabal b/n-tuple.cabal
--- a/n-tuple.cabal
+++ b/n-tuple.cabal
@@ -1,5 +1,5 @@
 name:                n-tuple
-version:             0.0.0
+version:             0.0.1
 synopsis:            Homogeneous tuples of arbitrary length.
 -- description:
 homepage:            https://github.com/athanclark/n-tuple#readme
diff --git a/src/Data/NTuple.hs b/src/Data/NTuple.hs
--- a/src/Data/NTuple.hs
+++ b/src/Data/NTuple.hs
@@ -11,6 +11,7 @@
   , empty
   , proj
   , incl
+  , toVector
   , -- * Proxies
     _1
   , _2
@@ -28,14 +29,14 @@
 import qualified Data.Vector as V
 
 import GHC.TypeLits
-import Data.Proxy (Proxy)
+import Data.Proxy (Proxy (..))
 import Data.List (intercalate)
 import Data.Singletons.Prelude
 import Data.Singletons.Prelude.Ord
 
 
 newtype NTuple (size :: Nat) a = NTuple
-  { getNTuple :: Vector a
+  { toVector :: Vector a
   }
 
 
@@ -47,22 +48,24 @@
 empty = NTuple V.empty
 
 
+-- | Project an element out of the tuple
 proj :: ( n <= size
         , (n :> 0) ~ True
         , KnownNat n
         )
-      => Proxy n
+      => Proxy n -- ^ The index
       -> NTuple size a
       -> a
 proj p (NTuple xs) = xs V.! (fromInteger (natVal p) - 1)
 
 
+-- | Include an element to the tuple, overwriting on an existing index
 incl :: ( n <= (size + 1)
         , (n :> 0) ~ True
         , KnownNat n
         , size' ~ If (n :== (size + 1)) (size + 1) size
         )
-     => Proxy n
+     => Proxy n -- ^ The index
      -> a
      -> NTuple size a
      -> NTuple size' a
