Just to be clear for @bitwize, nil is an object like everything else in smalltalk. It's an instance of UndefinedObject. It isn't special in any way and executes any method it understands just like all other objects.
Object>>isNil ^false
UndefinedObject>>isNil ^true
It drops into the debugger if you pass it a message it doesn't understand.