now using set= rather than ==, to act more like finite domain constraints