Test.TypeSpec.Internal.Apply

type family (ma :: monad a) >>= (f :: a ~> (monad b :: Type)) :: monad b

type ma >> mb

type family (f :: m (a ~> b)) <*> (ma :: m a) :: m b where ...

Tuple construction

data Pair''

data Pair'

List construction

data Cons''

data Cons'

Convert data types to Partially applicable type functions

data TyCon1

data TyCon2

Execute an action and map a pure function over the result.

data (<$>$$)

data (<$>$)

type family (f :: a ~> b) <$> (ma :: m a) :: m b

Flip Type Functions

data Flip'

data Flip

data Flip_

type family Flip__ (f :: a ~> (b ~> c)) (y :: b) (x :: a) :: c where ...

Type Function composition

data Compose''

data Compose'

data Compose

type family Compose_ (f :: b ~> c) (g :: a ~> b) (x :: a) :: c where ...

Type-Level const

type family Const (a :: t) (b :: t') :: t where ...

data Const'

data Const''

Defunctionalization

data TyFun

type a ~> b

type family Apply (f :: a ~> b) (x :: a) :: b