[#18] Introduce HList