template haskell

Creates data types and instances for indexing into a class. Dependent indices are preficed with "TH_" and normal indices by "I_". The dependent indices and DepIndex instances are always created. The normal index data types are always created, but the Index instance is created only if all records within the data type have the same type.