Implementation of our command line parsing combinators
But the above is not a valid Haskell 98 data type!
is needed for the type of
Indexed families of types
) are needed for the type of
data P a where ... Ap :: P (b->a) -> P b -> P a ... Many :: P a -> P [a] ...