I see your point on why it can be useful to separate the two, to do something in between. exec in ActiveState's port sais it will emulate it by starting a new process and then waiting for it to finish, then exiting with the same code itself. So it leaves the old program in memory!