There's one thing I always wanted to understand about working with image-based system (like a lisp-machine o smalltalk VMs): when you change a class or a function, how do you manage the mismatch between the code you have just written and an already running version. For example: you change the definition of a function on a live system, and then you go home for the weekend. Monday morning you notice a background process running that uses that function; how do you check if the version used is the old one or the new one?