diff --git a/Data/Vector/Fixed/Internal/Id.hs b/Data/Vector/Fixed/Internal/Id.hs
new file mode 100644
--- /dev/null
+++ b/Data/Vector/Fixed/Internal/Id.hs
@@ -0,0 +1,14 @@
+-- |
+-- Strict identity monad
+module Data.Vector.Fixed.Internal.Id (
+    Id(..)
+  ) where
+
+-- | Strict identity monad
+newtype Id a = Id { runID :: a }
+
+instance Monad Id where
+  return     = Id
+  Id a >>= f = f a
+  {-# INLINE return #-}
+  {-# INLINE (>>=)  #-}
diff --git a/fixed-vector.cabal b/fixed-vector.cabal
--- a/fixed-vector.cabal
+++ b/fixed-vector.cabal
@@ -1,5 +1,5 @@
 Name:           fixed-vector
-Version:        0.3.0.0
+Version:        0.3.0.1
 Synopsis:       Generic vectors with statically known size.
 Description:
   Generic library for vectors with statically known
@@ -98,6 +98,7 @@
   Exposed-modules:
     -- API
     Data.Vector.Fixed.Internal.Arity
+    Data.Vector.Fixed.Internal.Id
     Data.Vector.Fixed.Cont
     Data.Vector.Fixed
     -- Arrays
