please include function print. // f can return false to suppress regular printing // call print_raw within f to actually print something static F1 interceptPrintInThisThread(F1 f) { F1 old = print_byThread()!; print_byThread().set(f); ret old; }