diff --git a/Data/Vector/Sized.hs b/Data/Vector/Sized.hs
--- a/Data/Vector/Sized.hs
+++ b/Data/Vector/Sized.hs
@@ -5,7 +5,7 @@
                          , foldl, singleton, zipWith, zipWithSame, toList, fromList
                          , unsafeFromList, fromList', unsafeFromList'
                          , all, splitAt, takeAtMost, splitAtMost
-                         , drop, take, map, head, tail) where
+                         , drop, take, map, head, tail, index) where
 import Control.Applicative
 import Data.Maybe
 import Data.Singletons       hiding (promote)
@@ -114,6 +114,10 @@
 
 tail :: Vector a (S n) -> Vector a n
 tail (_ :- xs) = xs
+
+index :: ((n :<<= m) ~ True) => SNat n -> Vector a (S m) -> a
+index SZ     (a :- _)  = a
+index (SS n) (_ :- (a :- as)) = index n (a :- as)
 
 instance Monomorphicable (Vector a) where
   type MonomorphicRep (Vector a) = [a]
diff --git a/sized-vector.cabal b/sized-vector.cabal
--- a/sized-vector.cabal
+++ b/sized-vector.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                sized-vector
-version:             0.0.2.0
+version:             0.0.2.5
 synopsis:            Size-parameterized vector types and functions.
 description:         Size-parameterized vector types and functions using a data-type promotion.
 homepage:            https://github.com/konn/sized-vector
