with template variables and lambda, it can leak out the private constructors. [gcc with c++20](https://godbolt.org/z/rxheahEcc) [clang with c++20](https://godbolt.org/z/z13hhG6n6)