HI while working on a lecture I saw that we have about 75 cases like: aStream nextPut: $(. .... aStream nextPut: $). storeOn: aStream "Store a description of the elements of the complement rather than self." aStream nextPut: $(. absent storeOn: aStream. aStream nextPut: $); space; nextPutAll: #complement. printElementsOn: aStream aStream nextPut: $(. self size > 100 ifTrue: [aStream nextPutAll: 'size '. self size printOn: aStream] ifFalse: [self keysSortedSafely do: [:key | aStream print: key; nextPutAll: '->'; print: (self at: key); space]]. aStream nextPut: $) we have surroundedBy: aString surroundedBy: aString ^ self class streamContents: [ :s| s nextPutAll: aString. s nextPutAll: self. s nextPutAll: aString ]. But only working on aString. To me it looks like it ia class for having it on stream. What do you think?