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.)
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.