if you want it fixed like system.text.json then you dont need to worry about all of that too much, generating the extension method would be fine allready
make foreach converter a non generic class which is capable of instantiating the converter from a Type parameter with activate instance
so your helper is a factory of converters