diff --git a/html-entities.cabal b/html-entities.cabal
--- a/html-entities.cabal
+++ b/html-entities.cabal
@@ -1,7 +1,7 @@
 name:
   html-entities
 version:
-  1.0.1.1
+  1.1.0.0
 synopsis:
   A codec library for HTML-escaped text and HTML-entities
 description:
diff --git a/library/HTMLEntities/Decoder.hs b/library/HTMLEntities/Decoder.hs
--- a/library/HTMLEntities/Decoder.hs
+++ b/library/HTMLEntities/Decoder.hs
@@ -8,15 +8,12 @@
 import qualified HTMLEntities.Parser as P
 
 
-type Decoder a =
-  Text -> Either String a
-
 -- |
 -- A decoder of a single entity.
 -- 
 -- >>> mapM_ Data.Text.IO.putStrLn $ htmlEntity "&#169;"
 -- ©
-htmlEntity :: Decoder Text
+htmlEntity :: Text -> Either String Text
 htmlEntity =
   P.parseOnly $
   P.htmlEntity <* P.endOfInput
@@ -31,8 +28,9 @@
 -- 
 -- >>> mapM_ (Data.Text.Lazy.IO.putStrLn . Data.Text.Lazy.Builder.toLazyText) $ htmlEncodedText "&euro;5 &cent;2"
 -- €5 ¢2
-htmlEncodedText :: Decoder TLB.Builder
+htmlEncodedText :: Text -> TLB.Builder
 htmlEncodedText =
+  fmap (either (error "HTMLEntities.Decoder: impossible happened") id) $
   P.parseOnly $
   fmap fold $
   many $
