fix signature according to apply_func_arg_t