1. If a message does not return self, then you wouldn't be able to chain messages
together or to cascade messages.
for example:
|s|
s := Sphere new.
s rotateLeft; rotateRight; spin 60.
would have to be:
s rotateLeft.
s rotateRight.
s spin 60.
2. If you add an object to a collection, most times you are still concerned with the object, not the collection. I know what you mean that a lot of times you build an object and when it is complete you store it in a collection and move onto something else. But there is no reason adding has to be the final step.
For example, I pour coffee into my cup, (Cup new) add: coffee, then I stir the coffee, (coffee stir) .
> 1) Why do ST methods return "self" if nothing is explicitly returned?
> (he would have expected something like "Unit" in Scala, or "Void" -
>
>
> 2) In Collections, why does "add:" return the object being added, and
> not "self"?