_and(Range -> _equals(2), ...))Range Property is empty (it's an Optional Whole Number), then Range -> _equals(2) seems to be evaluating to True or being ignored - the _and just evaluates to whatever its second argument is. This isn't what I'd expect.