On Jan 5, 2015, at 1:02 PM, Henrik Johansen <henrik.s.johansen@veloxit.no> wrote:No, I'm talking about exactly what I quoted, implementing ifNilOrEmpty: on just UndefinedObject/Collection, but not Object.Doing that is not about indoctrinating, but preventing bad code resulting from using the same variable to hold non-polymorphic objects.Whatever the case does your idea pass this test?testIfNilOrEmpty| stuff thing |stuff := nil.self assert: stuff equals: nil.self assert: thing equals: nil.thing := stuff ifNilOrEmpty: [ 42 ].self assert: thing equals: 42.stuff := 1984.thing := stuff ifNilOrEmpty: [ 42 ].self deny: thing = nil.self assert: thing equals: 1984.self deny: thing = 42.Of course, since my idea was to use ifNil: when the variable you are dealing with is not Collections.