Define algebraic data types and pattern matching in C99 code
Algebraic data types for C99
$ datatype99 --help
$ cat mytype.h | cpp | datatype99
$ datatype99 < input.h > output.h
$ datatype99 --version