processArgs :: IO (Maybe FilePath)
processArgs = do
  args <- getArgs
  case args of
    [] -> return Nothing
    ("-h":_) -> printHelp
    ("--help":_) -> printHelp
    path -> return $ Just . head $ path
  where printHelp = putStrLn help >> exitSuccess

-- |USAGE string
processArgs :: IO (Maybe FilePath)
processArgs = do
  args <- getArgs
  case args of
    [] -> return Nothing
    ("-h":_) -> printHelp
    ("--help":_) -> printHelp
    path -> return $ Just . head $ path
  where printHelp = putStrLn help >> exitSuccess

-- |USAGE string
processArgs = do
  args <- getArgs
  case args of
    [] -> return Nothing
    ("-h":_) -> printHelp
    ("--help":_) -> printHelp
    path -> return $ Just . head $ path
  where printHelp = putStrLn help >> exitSuccess

-- |USAGE string