Implementation of our command line parsing combinators

Implementation using existential data types