Take the *ns* at macro read time not run time, as the code itself might run in another thread/handler namespace