stream surround: aBlock between: '( ' and: ' )'
This may be personal preference, but I do not like having more method arguments after a block argument... because if the block is longer it may not be visible... e.g. stream surround: [ :aStream | 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 ] ] ] between: $( and: $) vs between:and:surround: if you actually run this through formatter in Pharo, the between:and: is not even visible --- you have to scroll to see it. Of course if aBlock is a variable, than my argument falls.
From visual perspective the current state actually isn't that bad because you immediately see where is beginning and where is end without even looking... with surround:between:and: not so much...
Peter