A module to infer the kind of a given type within Template Haskell. Warning: this implements its own kind inference system, and is therefore not guaranteed to work on all esoteric types. (That said, I have no examples where it doesn't work.)
Documentation
inferKind :: Name -> Q (Either String Kind)Source
Returns either an error message or the Kind
of the type referred to by the specified name.
Works with datas, newtypes, type synonyms, type classes, data families, and type families.
Note: There has been a bug observed in Template Haskell relating to the parsing of types. This assumes that bug is still present, and fixes it.