diff --git a/primitive-offset.cabal b/primitive-offset.cabal
--- a/primitive-offset.cabal
+++ b/primitive-offset.cabal
@@ -1,7 +1,11 @@
 cabal-version: 2.2
 name: primitive-offset
-version: 0.1.0.0
+version: 0.2.0.0
 synopsis: Types for offsets into unboxed arrays
+description:
+  Pair a typed or untyped primitive array with an offset.
+  This is useful for providing meaningful type signatures
+  when working with the foreign function interface.
 homepage: https://github.com/andrewthad/primitive-offset
 bug-reports: https://github.com/andrewthad/primitive-offset/issues
 license: BSD-3-Clause
@@ -21,3 +25,4 @@
     , primitive >= 0.6.4
   hs-source-dirs: src
   default-language: Haskell2010
+  ghc-options: -O2 -Wall
diff --git a/src/Data/Primitive/ByteArray/Offset.hs b/src/Data/Primitive/ByteArray/Offset.hs
--- a/src/Data/Primitive/ByteArray/Offset.hs
+++ b/src/Data/Primitive/ByteArray/Offset.hs
@@ -5,19 +5,18 @@
   , MutableByteArrayOffset(..)
   ) where
 
-import Control.Monad.Primitive (PrimMonad,PrimState)
 import Data.Primitive (ByteArray,MutableByteArray)
 
 -- | A byte array and an index into the array. The element
 -- type is understood to be byte (an 8-bit word).
 data ByteArrayOffset = ByteArrayOffset
   { array :: {-# UNPACK #-} !ByteArray
-  , index :: {-# UNPACK #-} !Int
+  , offset :: {-# UNPACK #-} !Int
   }
 
 -- | A mutable byte array and an index into the array. The element
 -- type is understood to be byte (an 8-bit word).
 data MutableByteArrayOffset s = MutableByteArrayOffset
   { array :: {-# UNPACK #-} !(MutableByteArray s)
-  , index :: {-# UNPACK #-} !Int
+  , offset :: {-# UNPACK #-} !Int
   }
diff --git a/src/Data/Primitive/PrimArray/Offset.hs b/src/Data/Primitive/PrimArray/Offset.hs
--- a/src/Data/Primitive/PrimArray/Offset.hs
+++ b/src/Data/Primitive/PrimArray/Offset.hs
@@ -41,13 +41,13 @@
 -- | A primitive array and an index into the array.
 data PrimArrayOffset a = PrimArrayOffset
   { array :: {-# UNPACK #-} !(PrimArray a)
-  , index :: {-# UNPACK #-} !Int
+  , offset :: {-# UNPACK #-} !Int
   }
 
 -- | A mutable primitive array and an index into the array.
 data MutablePrimArrayOffset s a = MutablePrimArrayOffset
   { array :: {-# UNPACK #-} !(MutablePrimArray s a)
-  , index :: {-# UNPACK #-} !Int
+  , offset :: {-# UNPACK #-} !Int
   }
 
 -- | Recover the element in the primitive array.
