Reworked constraint structure, working examples using HLists!