So, though it compiles, the hashing code is compiling
to the wrong thing.
I conclude that my investment in template coding has been
excessive. It is time to switch to rust. Template
coding contains too much logically incoherent and
internally inconsistent backward compatibility
making it fragile to subtle changes in the compiler.