Not supplying the name of the parameter in the call to "foo" would result in an error.
Python has similar semantics. Very useful to force explicitness when you have complex changing APIs that have many parameters of the same type "add_row(string,string,string,string,string,string)"
But it is a bit different than using named variables in a lambda, since in the lambda case it will shadow local variables.