diff --git a/rewrite.cabal b/rewrite.cabal
--- a/rewrite.cabal
+++ b/rewrite.cabal
@@ -1,5 +1,5 @@
 name:                rewrite
-version:             0.4
+version:             0.6
 synopsis:            open file and rewrite it with new contents
 description:
   In the Unix shell there is no easy way to use a filter program
@@ -31,7 +31,7 @@
   main-is: rewrite.hs
   build-depends:
       base ==4.6.*
-    , multiarg ==0.16.*
+    , multiarg ==0.24.*
     , directory ==1.2.*
     , process-extras ==0.2.*
     , bytestring ==0.10.*
diff --git a/rewrite.hs b/rewrite.hs
--- a/rewrite.hs
+++ b/rewrite.hs
@@ -37,8 +37,8 @@
 -- positional arguments
 parseArgs :: IO (Maybe Backup, InputFile, ProgName, [ProgramOpt])
 parseArgs = do
-  let opts = [ MA.OptSpec ["backup"] "b" (MA.OneArg Left) ]
-  as <- MA.simpleWithHelp help MA.StopOptions opts (return . Right)
+  let opts = [ MA.OptSpec ["backup"] "b" (MA.OneArg (return . Left)) ]
+  as <- MA.simpleHelp help opts MA.StopOptions (return . Right)
   let (baks, os) = partitionEithers as
   bak <- case baks of
     [] -> return Nothing
