1 collections define: #SingleSet &parents: {NoDuplicatesCollection}
2 &slots: {#element -> Nil}.
3 "SingleSets are collections which are only supposed to contain exactly one
6 ss@(SingleSet traits) accepts: _@Nil
9 ss@(SingleSet traits) new
10 [ss clone `setting: #{#element} to: {Nil}].
12 ss@(SingleSet traits) do: block
14 block applyWith: ss element
17 ss@(SingleSet traits) reverseDo: block
19 block applyWith: ss element
22 ss@(SingleSet traits) isEmpty
27 ss@(SingleSet traits) add: obj
29 ss element ifNil: [ss element := obj]
32 ss@(SingleSet traits) remove: obj
34 ss element = obj ifTrue: [ss element := Nil]