recursive handling of function arguments.