UE4 uses reflection to drive blueprints - tbh I still don't really understand what type providers are supposed to be, it sounds like it could be some sort of reflection as well...?
Reflection works only during run-time. Type providers work during dev-time, generating source code. I think it may work via the compiler itself. At least in C#/F#.
Here is an example from WPF. I created a window and added a TextBlock element:
The editor created a XAML file:
Now, I can access that GUI element with its name texBlock:
But how is this possible? Because I never defined any textBlock class inside my C# code. It's because of this code that was generated by the type provider:
Note that this file, this partial class, is not visible inside my project files. But you will fined the definition of textbox in there. And any other element, like the button class for the Button element, that I also added to the editor earlier.
This is how I consider doing things inside my engine. But with the scene files, and assets. And with Yaml instead of XAML.