@Gankra I think it's part column A, part column B. My knowledge here is quite superficial, but if you try to call source with a shell with stdlib APIs, wouldn't it run in a subshell and not update the active session of the user?