A class for defining constraints for types.