The problem is that, what blueprints does, is that much work.
It does all of that, to make the code “safe” and “convenient.”
There’s no way for the C++ generator to “know” what the intent is. If it makes simplifying assumptions, then some things that work in Blueprint will stop working when converted.
It would be possible to do things like profile all usage at runtime, and “know” what the actual use cases that come up, are, and then guide the code generation. That would require changing the Blueprint VM itself, though – something a plugin can’t do without code changes to the engine.
It’s also possible to let the developer “guide” the generator – “these assumptions should be OK for my game” – to simplify the code that’s generated. That’s something that could be developed in a plugin. However, the effort to develop robust “guides” that work for your particular game/usage, and the effort to maintain the guided code generation, would easily outstrip the effort of just writing the code in C++ in the first place.
Blueprint is for setting class defaults, configuring assets, and wiring up events / dispatchers. If you need significant logic, drop into C++. You’ll probably be better off tuning that iteration loop, which is now quite nice, especially with hot realoading option in the lower-right corner menu in the UE5 editor being default!