nl: substitute its __name__ field for function name, if it doesnt exists substitute func.__name__ for function_name. call the function generic_tag_compiler, params set to params, varargs set to varargs, varkw set to varkw, defaults set to defaults,
code: compile_func = partial ( generic_tag_compiler , params = params , varargs = varargs , varkw = varkw , defaults = defaults , name = function_name , takes_context = takes_context , node_class = SimpleNode )