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