register_type, so use this carefully!)index for each type Derived that RegisteredType is instantiated with.inline variable, we have to "use" it to ensure it is instantiated. The default constructor will suffice.index is a static variable, its initializer will be called at static initialization timeregister_type() will be called once for each Derived in the compiled program.inline variables must be de-duplicated across translation units.__cxx_global_var_init symbols are properly de-duplicated across translation units at link time.N when we can construct it with N objects but not with N+1: