I don't think this is correct. This will assemble the action on the first Function ever passed, not the current one. I think you have to directly call a par_loop using the kernel stashed when you assembled the action the first time.