diff --git a/hw-prim.cabal b/hw-prim.cabal
--- a/hw-prim.cabal
+++ b/hw-prim.cabal
@@ -1,5 +1,5 @@
 name:                   hw-prim
-version:                0.0.0.9
+version:                0.0.0.10
 synopsis:               Primitive functions and data types
 description:            Please see README.md
 homepage:               http://github.com/haskell-works/hw-prim#readme
@@ -26,6 +26,7 @@
   hs-source-dirs:       src
   exposed-modules:      HaskellWorks.Data.ByteString
                       , HaskellWorks.Data.Char.IsChar
+                      , HaskellWorks.Data.Decode
                       , HaskellWorks.Data.FromByteString
                       , HaskellWorks.Data.FromForeignRegion
                       , HaskellWorks.Data.Positioning
diff --git a/src/HaskellWorks/Data/Decode.hs b/src/HaskellWorks/Data/Decode.hs
new file mode 100644
--- /dev/null
+++ b/src/HaskellWorks/Data/Decode.hs
@@ -0,0 +1,8 @@
+{-# LANGUAGE MultiParamTypeClasses #-}
+
+module HaskellWorks.Data.Decode
+  ( Decode(..)
+  ) where
+
+class Decode c a where
+  decode :: c -> Maybe a
