Data.TypeFun
class TypeFun fun
type family App fun arg
data Id dom
data Const dom val
data fun :-> fun'
data FunMap trans fun
data WrappedApp fun arg
unwrapApp
type Universal fun