Protocols for set operations