NonEmptySet(initial: T, set: MutableSet<T> = mutableSetOf())
A set which is constrained to ensure it can never be empty. An initial value must be provided at construction, and attempting to remove the last element will cause an IllegalStateException.