getOpts :: Opts -> OptsList -> IO Opts
getOpts opt optL = do
          (opts, _) <- getArgs >>= parseOpts opt optL
          when (showHelp opts) showUsageAndExit
          return opts
getOpts :: Opts -> OptsList -> IO Opts
getOpts opt optL = do
          (opts, _) <- getArgs >>= parseOpts opt optL
          when (showHelp opts) showUsageAndExit
          return opts
getOpts opt optL = do
          (opts, _) <- getArgs >>= parseOpts opt optL
          when (showHelp opts) showUsageAndExit
          return opts