This library provides:

* Generic representation and manipulation of abstract syntax
  using a practical encoding of open data types (based on Data
  Types a la Carte)

* Utilities for analyzing and transforming generic syntax

* General variable binding constructs

* Utilities for building extensible embedded languages based
  on generic syntax

* A small proof-of-concept implementation of the embedded
  language Feldspar (see the examples directory)
