refactor to play nice with compdata 0.8. still not convinced that this is correct but it's at least a little easier to understand.
reenable the type parser and actually comment it
further cleanup
Integrate support for suffixes on numeric types.

Adds a Suffix node to the C grammar. Wanted to reuse the types, but I'd need
    Literal :+: BaseType :+: ModifiedType
and there was too much room to make a mistake or create an invalid suffix.

Fixes #8 and #16.
get the statement parser working, for real.
cleanup and add tests for block items
Parameterize the parsers' signature types.

As suggested by Manuel Chakravarty, these types should be parameterized
in terms of the provided monad. This avoids nasty errors of the sort where
methods that belonged in typeclasses weren't allowed because they didn't mention
any variables of the parameterized type.
Enable UndecidableInstances project-wide.

While this is definitely an Evil extension, it's necessary to have
inheritance in the parser chain.
add some tests
(Maybe Name) is an antipattern
Add a test to make sure '.' doesn't parse as a valid float
fix some warnings
the type parser is built on identifier parsers
start improving the variable parsing
import two test cases from cdecl.org, one of which doesn't work
add/clean up test cases
more tests
start getting the variable parsing sorted out
Adjust coproducts so as to improve error messages.

Because :+: is right-associative, you can get ugly error messages if you write
composite coproducts like so:

    type ExpressionSig CParser = TypeSig CParser :+: Expr :+: Operator

The components of the product are printed very confusingly because the Expr
and Operator types are just hanging off the right end of an existing, large coproduct.
Putting the TypeSig CParser at the end of the expression has no semantic difference
but makes the error messages much easier to read.
fix a problem where the Overture complained about exporting Data and Typeable, which we don't even use. just kill it