Como analisar um sinalizador opcional como um valor Talvez?

Estou tentando usaroptparse-applicative para analisar umMaybe String mas não consigo encontrar em nenhum lugar como lidarMaybe. A única coisa que encontrei foi adicionar um valor padrão, mas eu realmente preciso de umNothing se o usuário não forneceu uma opção em vez de"". Existe alguma maneira de conseguir isso?

Aqui está um exemplo de código de trabalho:

import Options.Applicative

data Config = Config
    { cIn :: String
    , cOut :: String
    } deriving Show

configParser :: Parser Config
configParser = Config
    <$> strOption (long "in" <> short 'i')
    <*> strOption (long "out" <> short 'o')


main :: IO ()
main = do
    conf <- execParser (info configParser fullDesc)
    print conf

No entanto, gostaria que os parâmetros fossem opcionais e usassemMaybe String ao invés deString noConfig :

data Config = Config
    { cIn :: Maybe String
    , cOut :: Maybe String
    } deriving Show

questionAnswers(1)

yourAnswerToTheQuestion