If your intermediate Object is smart enough to do that. nil being an Object is very useful, we had a project where we had to print reports, and a lot of the values (from the database) could be nil. We wrote our own print method in all our objects as well as nil. This way we didn't have to litter the code with var isNil ifTrue: [ print null], instead nil knew how to print itself correctly for our reports and we could just send teh same print method to every object.