typeOf

Observe a type representation for the type of a value.
Given a JExpr, return the its type.
Observe a type representation for the type of a value.
Returns a string representation of the type of the expression.
typeOf is the same as typeWith with an empty context, meaning that the expression must be closed (i.e. no free variables), otherwise type-checking will fail.
Deprecated. Get the D-Bus type corresponding to the given Haskell value. The value may be undefined.
The type representation of any Typeable term
Return the "type" tag (aka the form tag) of the given SEXP. This function is pure because the type of an object does not normally change over the lifetime of the object.
Returns type of the current SEXP. Can never fail.
Get type of an Emacs value as an Emacs symbol.
Not on Stackage, so not searched. Small script for inferring types
Type family associating a tag to the corresponding type. It is intended to simplify constraint declarations, by removing the need to redundantly specify the type associated to a tag. It is poly-kinded, which allows users to define their own kind of tags. Standard haskell types can also be used as tags by specifying the Type kind when defining the type family instance. Defining TypeOf instances for Symbols (typelevel string literals) is discouraged. Since symbols all belong to the same global namespace, such instances could conflict with others defined in external libraries. More generally, as for typeclasses, TypeOf instances should always be defined in the same module as the tag type to prevent issues due to orphan instances. Example:
import Capability.Reader

data Foo
data Bar
type instance TypeOf Type Foo = Int
type instance TypeOf Type Bar = String

-- Same as: foo :: HasReader Foo Int M => …
foo :: HasReader' Foo m => …
foo = …