Data.Function.Poly
type family TypeListToArity (xs :: [*]) (r :: *) :: * where ...
type family ArityToTypeList (r :: *) :: [*] where ...
type family ArityMinusTypeList (r :: *) (xs :: [*]) :: * where ...
type ArityTypeListIso c l r
type family InjectLast (x :: *) (f :: *) :: * where ...
type family ExpectArity (xs :: [*]) (f :: *) :: Constraint where ...
type family ExpectLast (x :: *) (f :: *) :: Constraint where ...
type family Head (xs :: [k]) :: k where ...
type family Tail (xs :: [k]) :: [k] where ...
data HList xs
class ConsumeArity xs f result
type family HasResult (f :: *) (r :: *) :: Constraint where ...