You don't need this conditional. `set` maintains uniqueness, so you can just `add(self)`, and everything will be fine.