I disagree with the suggestion. Unlike C++'s templates, a Swift's generic
function is semantically a single function. One can say that together with
a metatype parameter, we pass in witness table.
What I think we should do is make metatypes easier to use. *Adrian and I
have a PR* that has already been waiting for almost a month:
Plus, removal of .self could simplify such calls.
swift-evolution mailing list