Hi.Look at UndefinedObject instance side methods. You will see class hierarchy protocol. For example nil understands #subclasses message:nil subclasses "==> {ProtoObject}"
It implemented like this:UndefinedObject >>subclassesDo: aBlock"Evaluate aBlock with all subclasses of nil.�� Others are not direct subclasses of Class."^ Class subclassesDo: [:cl |��cl isMeta ifTrue: [aBlock value: cl soleInstance]].So my question is: why it needs to be like that? And does it really needed?I removed all this methods and not saw any problem.��