HList (hackage): HList provides many operations to create and manipulate heterogenous lists (HLists) whose length and element types are known at compile-time. HLists are used to implement  records  variants  type-indexed products (TIP)  type-indexed co-products (TIC)  keyword arguments  User code should import Data.HList or Data.HList.CommonMain for a slightly more limited scope  The original design is described in http://okmij.org/ftp/Haskell/HList-ext.pdf, though since that paper came out, the -XTypeFamiles extension has been used to replace TypeCast with ~.
Keywords: data|library|mit