diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
 # parseargs: Command-line argument parsing for Haskell programs
-Copyright © 2007 Bart Massey
+Copyright (c) 2007 Bart Massey
 
 This library provides System.Console.Parseargs, a module to
 assist in argument parsing for Haskell stand-alone command
@@ -13,47 +13,56 @@
 arguments can be extracted as needed. See the Haddock
 documentation for the gory details.
 
-I have used this code with `ghc` 6 and 7 on Linux.  It is a
-fairly standard Hackage-ready package, to the extent I know
-how to construct such.
+I have used this code with `ghc` 6 and later on Linux.  It
+is a fairly standard Hackage-ready package, to the extent I
+know how to construct such.
 
-The 0.1.2 release includes a typeclass for argument types for
+This library is not what I set out to build.  It definitely
+could also use some work.  However, I use it all the time
+for writing little programs. I thought others might find it
+useful, and I also have released other code that depends on
+it, so I put it out there.
+
+Have fun with it, and let me know if there are problems.
+
+## Release History
+
+* The 0.1.2 release includes a typeclass for argument types for
 easier use.
 
-The 0.1.3 release includes more uniform and usable error
+* The 0.1.3 release includes more uniform and usable error
 handling.
 
-The various 0.1.3.x point releases include bug fixes and
+* The various 0.1.3.x point releases include bug fixes and
 various extra-minor enhancements. See the Git log.
 
-The 0.1.4 release includes the ability to mix optional and
+* The 0.1.4 release includes the ability to mix optional and
 required positional arguments.
 
-The 0.1.5 release includes the "soft dash" option, giving
+* The 0.1.5 release includes the "soft dash" option, giving
 the ability to allow positional arguments to begin with a
 dash if possible.
 
-The 0.1.5.1 release fixes some warnings and stuff.
+* The 0.1.5.1 release fixes some warnings and stuff.
 
-The 0.1.5.2 release fixes some missing documentation.
+* The 0.1.5.2 release fixes some missing documentation.
 
-The 0.2 release cleans up some namespace pollution by
+* The 0.2 release cleans up some namespace pollution by
 removing `ArgRecord` and the `args` accessor from the public
 namespace.  This allows the use of the name `args` by the
 user to describe program arguments.
 
-The 0.2.0.1 release cleans up a bunch of documentation nits
+* The 0.2.0.1 release cleans up a bunch of documentation nits
 and cleans up copyright notices and license information.
 
-The 0.2.0.2 release fixes the botched release of 0.2.0.1. Sigh.
+* The 0.2.0.2 release fixes the botched release of 0.2.0.1. Sigh.
 
-This library is not what I set out to build.  It definitely
-could also use some work.  However, I use it all the time
-for writing little programs. I thought others might find it
-useful, and I also have released other code that depends on
-it, so I put it out there.
+* The 0.2.0.3 release fixes the missing `Args` constructor
+documentation of 0.2.0.2.
 
-Have fun with it, and let me know if there are problems.
+* The 0.2.0.4 release suppresses a GHC 7.10 warning for `Control.Monad.Safe`.
+
+## License
 
 This program is licensed under the "3-clause ('new') BSD
 License".  Please see the file COPYING in this distribution
diff --git a/System/Console/ParseArgs.hs b/System/Console/ParseArgs.hs
--- a/System/Console/ParseArgs.hs
+++ b/System/Console/ParseArgs.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE FlexibleInstances, DeriveDataTypeable, Safe #-}
+{-# LANGUAGE FlexibleInstances, DeriveDataTypeable, Safe, CPP #-}
 ------------------------------------------------------------
 -- |
 -- Module      :  System.Console.ParseArgs
@@ -63,7 +63,11 @@
 
 import Control.Exception
 import Control.Monad
+#if __GLASGOW_HASKELL__ < 710
 import Control.Monad.ST.Safe
+#else
+import Control.Monad.ST
+#endif
 import Data.List
 import qualified Data.Map as Map
 import Data.Maybe
@@ -345,7 +349,8 @@
 -- |Class for building parse control information,
 -- for backward compatibility.
 class APCData a where
-  getAPCData :: a -> ArgsParseControl
+  getAPCData :: a -> ArgsParseControl  -- ^Build an 'ArgsParseControl'
+                                       -- structure from the given info.
 
 instance APCData ArgsParseControl where
   getAPCData a = a
diff --git a/parseargs.cabal b/parseargs.cabal
--- a/parseargs.cabal
+++ b/parseargs.cabal
@@ -6,7 +6,7 @@
 Build-Type: Simple
 Description: Parse command-line arguments
 -- Don't forget to bump the source-repository this below
-Version: 0.2.0.3
+Version: 0.2.0.4
 Cabal-Version: >= 1.6
 License: BSD3
 License-File: COPYING
@@ -36,4 +36,4 @@
 Source-repository this
   Type:     git
   Location: git://github.com/BartMassey/parseargs.git
-  Tag:      v0.2.0.3
+  Tag:      v0.2.0.4
