You can’t recompile a function as such, running or not. What you can do, is to re-compile some code into a new function, and assign whatever name the old function had to the new function.
Whenever that function-name is called next, the new function will get called. The old function might still exist, either because it was already running while the new function was compiled, or because it as assigned to more names (or otherwise available) except through that function-name from before.
So, again, while you can’t recompile some function named X, you can create (i.e. re-compile) a new function and assign it to X. And any function(s) Y that call X will also get “modified” in the sense that they from now on will call the new X instead of the old X (without Y having to be re-compiled in any way).
Having hacked a bit on Home Assistant, it’s impossible to not want a CL variant of the same. Stopping and restarting your “house” umpteen times for every little change is such a ridiculous development cycle.