+1 Even for a loop-based algorithm, clarity would improve if the initial case would be flagged with a symbol, not nil:

x := #start.
[ ... ] whileTrue: [
   x = #start ifTrue: [x := ... ].
   ...
].

Best,
Marcel

Am 23.11.2022 21:23:27 schrieb Tobias Pape <das.linux@gmx.de>:

Yet, nil is only seldom a good domain object.
-t

> On 23. Nov 2022, at 19:34, tim Rowledge wrote:
>
> I won't quote it all again but what Eliot wrote is important. There are good solid reasons why Smalltalk has a rigorously defined UndefinedObject. We demand rigorously defined areas of doubt and uncertainty!
>
> tim