Sets keep unique values and answer membership questions quickly.

Track unique names

set_membership.swift
let incoming = 
var active: Set<String> = ["alpha", "beta"]
let wasActive = active.contains(incoming)
active.insert(incoming)

print("incoming=\(incoming)")
print("wasActive=\(wasActive)")
print("activeCount=\(active.count)")
let incoming = 
var active: Set<String> = ["alpha", "beta"]
let wasActive = active.contains(incoming)
active.insert(incoming)

print("incoming=\(incoming)")
print("wasActive=\(wasActive)")
print("activeCount=\(active.count)")
let incoming = 
var active: Set<String> = ["alpha", "beta"]
let wasActive = active.contains(incoming)
active.insert(incoming)

print("incoming=\(incoming)")
print("wasActive=\(wasActive)")
print("activeCount=\(active.count)")
sets Use a set when uniqueness matters more than order. `contains` checks membership and `insert` keeps only one copy of each value.