To clarify, I need the compile time string that will match typeid(instance).name, so I can match the derived type.
You have to make sure that the derived type is passed to your register function, but then std.traits.fullyQualifiedName!T ought to give it to you.