Lightweight Implementation of Generics and Dynamics

This is the basic representation types for the LIGD library. It is currently incomplete with respect to the paper. We hope to rectify that in the future.

See the following publication for details.

J. Cheney and R. Hinze. "A lightweight implementation of generics and dynamics." In Haskell 2002. pp. 90-104.