Implements add / set distinction