// Copyright © 2022 Rangeproof Pty Ltd. All rights reserved. import Foundation public extension Set { func inserting(_ value: Element?) -> Set { guard let value: Element = value else { return self } var updatedSet: Set = self updatedSet.insert(value) return updatedSet } func inserting(contentsOf value: Set?) -> Set { guard let value: Set = value else { return self } var updatedSet: Set = self value.forEach { updatedSet.insert($0) } return updatedSet } func removing(_ value: Element?) -> Set { guard let value: Element = value else { return self } var updatedSet: Set = self updatedSet.remove(value) return updatedSet } }