Also are static constructors in templated types guaranteed to run for every instantiation? Even if the instantiation is never actually used outside of compile time code, like in an alias or in a UDA?Definitely not. Things inside a template don't even exist if that template is never instantiated.
(That wasn't his question.)