Constraint construction (as in Liquid Types)