in reply to Smaller than an object?

That's just a closure. The extra block stuff is not necessary unless you have another $foo in the outer scope.