Yes, technically it is of course fine, just as a design I find use of thread_local is more of an afterthought than something I'd prefer.