Generalized `Cons` to support hlists, etc.