This function is called with a function (i.e. something that definitely has a FUN-tag), and a TAB of arguments. Here's what happens:

a) The function is dissected, and the tag of the formal arguments is considered. This tag is used to select the correct binding function cas. This is because the way of binding depends on the kind of formal parameters of the function. Then, this binding function is run on the formal arguments, the actual arguments and the lexical scope of the function cas(Tab, par, dct). The result is an extended dictionary (an extension of the lexical scope).

b) The function is finally run in a dictionary that is the extension of the lexical scope. This is accomplished by the 'apply' of Pico: call_function.;