> This is a good principle, but Ruby does not heed it:
If we're going to pick on Ruby I think you can find several examples closer to what this thread is about.
f = lambda { 4711 }
f()
NoMethodError: undefined method `f' for main:Object
f.call()
4711
Least surprise?