diff --git a/hopenpgp-tools.cabal b/hopenpgp-tools.cabal
--- a/hopenpgp-tools.cabal
+++ b/hopenpgp-tools.cabal
@@ -1,5 +1,5 @@
 name:                hopenpgp-tools
-version:             0.0.1
+version:             0.0.2
 synopsis:            hOpenPGP-based command-line tools
 description:         command-line tools for performing some OpenPGP-related operations
 homepage:            http://floss.scru.org/hopenpgp-tools
@@ -22,7 +22,7 @@
                ,       conduit
                ,       hOpenPGP               >= 0.8
                ,       openpgp-asciiarmor     >= 0.1
-               ,       optparse-applicative
+               ,       optparse-applicative   >= 0.7
                ,       transformers
   default-language: Haskell2010
 
diff --git a/hot.hs b/hot.hs
--- a/hot.hs
+++ b/hot.hs
@@ -41,7 +41,7 @@
 
 import Options.Applicative.Builder (command, help, idm, info, long, metavar, nullOption, reader, progDesc, strOption, subparser, ParseError(..))
 import Options.Applicative.Extra (execParser)
-import Options.Applicative.Types (Parser)
+import Options.Applicative.Types (Parser, ReadM(..))
 
 data Command = DumpC | DeArmorC | ArmorC ArmoringOptions
 
@@ -71,12 +71,14 @@
     let a = Armor armortype ([("Version", "hot " ++ showVersion version)] ++ maybe [] (\x -> [("Comment", x)]) comment ) (BL.fromChunks m)
     BL.putStr $ AA.encodeLazy [a]
 
-armorTypeReader :: String -> Either ParseError ArmorType
-armorTypeReader "message" = Right ArmorMessage	 
-armorTypeReader "pubkeyblock" = Right ArmorPublicKeyBlock	 
-armorTypeReader "privkeyblock" = Right ArmorPrivateKeyBlock	 
-armorTypeReader "signature" = Right ArmorSignature
-armorTypeReader _ = Left (ErrorMsg "unknown armor type")
+armorTypeReader :: String -> ReadM ArmorType
+armorTypeReader = ReadM . armorTypeReader'
+    where
+        armorTypeReader' "message" = Right ArmorMessage	 
+        armorTypeReader' "pubkeyblock" = Right ArmorPublicKeyBlock	 
+        armorTypeReader' "privkeyblock" = Right ArmorPrivateKeyBlock	 
+        armorTypeReader' "signature" = Right ArmorSignature
+        armorTypeReader' _ = Left (ErrorMsg "unknown armor type")
 
 aoP :: Parser ArmoringOptions
 aoP = ArmoringOptions
