The "Inject:Into:" pattern in "Smalltalk Best Practice Patterns" says "Call the block arguments sum and each." That seems crazy! Why would I name the first argument "sum" if I've trying to do something other than sum the values? The example the book gives is the following.
^self children inject: 0 into: [:sum :each | sum max: each]
I think I'd do this.
^self children inject: 0 into: [:maximum :each | maximum max: each]
--- Mark Volkmann