Implementation of our command line parsing combinators