currently has no meta-programming features, in the interest of performance
This is a false dichotomy.You're right, I'll edit that. Some meta-programming features do require sacrifices in performance, but not in the case of Codable.
And some can increase performance. Thanks for thinking about this though, it's one of the things I appreciate about this place.
IIRC they were already doing a sweep over the UI libraries to make them more Swift-idiomatic, but probably (like you say) while retaining the obj-c interface. They probably could make an extension or aliases to the UI libraries only visible to Swift though, translating down to regular obj-c compatible calls.
They've done an excellent job of going as far as you can, without re-writing parts of the code to not be backwards compatible.
My personal desire is to see a backwards incompatible UI layer, that makes generics usable.
As a simple example - you currently can't have a UITableViewCell<YourModel>, which's the most obvious and proper use of generics for UI logic.
So as it stands, all this work has gone into mixing polymorphism and subclassing, and yet it doesn't actually get used a whole lot, because of the existing libraries having been written when generics were not around.
Objective-C does have meta-programming features [0] and that's how all the really nifty features were made possible (KVO, CoreData, etc)
What Swift is aiming for, is to be a performant, general purpose programming language. This restrains it in the amount of clever stuff you can do. That and the inter-op requirement has been an incredible hurdle when it comes to focusing on features that people actually want out of Swift.
A lot of effort has gone into being able to use Swift with existing Obj-C libraries - I sincerely hope they'll at some point say 'no more interop, only Swift, and by the way we've rewritten the UI libraries to use generics, so that you can do more than cute generic demos in your code.'
[0] https://genius.com/Soroush-khanlou-metaprogramming-isnt-a-sc...