Change to optparse-applicative for more robust arg parsing