hlists: Avoid the ugly HNil value and use a case object instead

Seems to work now. Hopefully does not break something somewhere.