Data.Function.Poly

type family TypeListToArity xs r :: *

type family ArityMinusTypeList r xs :: *

type family ExpectArity xs f :: Constraint

type family Head xs :: k

type family Tail xs :: [k]

class ConsumeArity xs f result