adds better empty|null|undefined handling during constraint init