@trtt You can add such a constraint with `T: HList` if you want. It seems not to work very well now, maybe I will try to figure out why.
But there is another point which is important. You **do not** lose the generic type information if you don't specify T. This is because the type checking and type inference happens when T is specialized to a concrete type. So, the checking is not done _a priori_ on the generic proc - that is only a recipe which is eventually converted into a concrete proc which is type checked as if it was not generic
