This function is called from within call_table if the formal parameter is just a functional parameter. This requires us to bind the invocation (of the formal parameter) to the actual expression to make a function. The environment of definition of this function is of course the environment where the body expression was written down: i.e. the environment of calling the funtion for which we are currently arranging the parameter passing.. So the semantics is to create a new function and add it to the environment. It is really important to understand every environment reference at this point: if you really understand this procedure, the chances are very real that you understand the complete MC-eval.