Bring code over from prototype, rename DontCare -> Head in recursive case, export types + traits
Bring code over from prototype, rename DontCare -> Head in recursive case, export types + traits

Sgeo/hlist