úÎÇJ  A type Const d v= represents the constant type-level function whose domain is  represented by d, and whose result is v. A type Id dI represents the type-level identity function whose domain is represented  by d. FTurns a type-level function into the intersection of all its results. :A data type that is isomorphic to the type synonym family . %Application of type-level functions. App1 takes a function representation and an argument . and returns the corresponding result. /Type-level functions are represented by types. TypeFun is the class of all function  representations. Note that the (->)  instance of TypeFun slightly abuses the type  constructor (->).. In representations of type-level functions, (->)  denotes the ' lifting of the type constructor (->) . That is if r and r' are % representations of functions f and f' , the type r -> r' represents  the function \t -> (f t -> f' t). WThe domain of the type-level function as a subkind representation. Subkind handling is  provided by the kinds package. The inverse of .      type-functions-0.0.0.0 Data.TypeFunConstId Universal WrappedAppWrapAppAppTypeFunDomain unwrapApp