You cannot define a column to allow nulls, and then override this definition with a rule that prohibits null values.
@val in (1,2,3)
The column definition overrides the rule, even a rule that specifies:
@val is not null