diff --git a/postgresql-simple-opts.cabal b/postgresql-simple-opts.cabal
--- a/postgresql-simple-opts.cabal
+++ b/postgresql-simple-opts.cabal
@@ -1,5 +1,5 @@
 name:                postgresql-simple-opts
-version:             0.2.0.1
+version:             0.2.0.2
 synopsis:            An optparse-applicative parser for postgresql-simple's connection options
 description:         This package exports a optparse-applicative parser and type for postgresql-simple's ConnectInfo and connection string.
 homepage:            https://github.com/jfischoff/postgresql-simple-opts#readme
@@ -21,7 +21,7 @@
                , optparse-applicative >=0.11.0 && <0.14
                , bytestring
                , either
-               , optparse-generic >= 1.0.1 && <1.2
+               , optparse-generic >= 1.0.1 && <1.3
                , data-default
   default-language:    Haskell2010
   ghc-options: -Wall
diff --git a/src/Database/PostgreSQL/Simple/Options.hs b/src/Database/PostgreSQL/Simple/Options.hs
--- a/src/Database/PostgreSQL/Simple/Options.hs
+++ b/src/Database/PostgreSQL/Simple/Options.hs
@@ -2,7 +2,7 @@
    'Connection'
 -}
 {-# LANGUAGE RecordWildCards, LambdaCase, DeriveGeneric, DeriveDataTypeable #-}
-{-# LANGUAGE GeneralizedNewtypeDeriving, CPP, ApplicativeDo #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving, CPP #-}
 module Database.PostgreSQL.Simple.Options where
 import Database.PostgreSQL.Simple
 import Options.Applicative
@@ -113,13 +113,11 @@
 
 completeConnectInfo :: PartialConnectInfo -> Either [String] ConnectInfo
 completeConnectInfo PartialConnectInfo {..} = validationToEither $ do
-  connectHost     <- getOption "host"     host
-  connectPort     <- fromIntegral
-                 <$> getOption "port"     port
-  connectUser     <- getOption "user"     user
-  connectPassword <- getOption "password" password
-  connectDatabase <- getOption "database" database
-  return $ ConnectInfo {..}
+  ConnectInfo <$> getOption "host"     host
+              <*> (fromIntegral <$> getOption "port" port)
+              <*> getOption "user"     user
+              <*> getOption "password" password
+              <*> getOption "database" database
 
 -- | mappend with 'defaultPartialConnectInfo' if necessary to create all
 --   options
