Implementation of our command line parsing combinators

But the above is not a valid Haskell 98 data type!