+validIntermediate for DRYing
order set values and drop duplicates in definition