Feat (Functional Enumeration of Abstract Types) provides
enumerations as functions from natural numbers to values
(similar to @toEnum@ but for any algebraic data type). This
can be used for SmallCheck-style systematic testing,
QuickCheck style random testing, and hybrids of the two.
The enumerators are defined in a very boilerplate manner
and there is a Template Haskell script for deriving the
class instance for most types.
"Test.Feat" contain a subset of the other modules that
should be sufficient for most test usage. There
are some small and large example in the tar