When writing code for application frameworks such as map-reduce, the programmer ends up writing code such as:
It would be nice if this could be simplified to:
So the construct is
It should probably be the case that the variable being defined is not permitted to occur in the initializer. Thus, use def for recursive functions.