EDIT: Nevermind, I now see that the interface type is set in GTPD's constructor! I don't really understand why it's set to a metatype instead of just a GenericTypeParamType, though?
I'm trying to find where it is that GenericTypeParamDecls get turned into Types. Looks as though TypeDecl::getDeclaredInterfaceType is used but that method doesn't appear to handle GTPDs or its ancestors directly and returns null or ErrorType otherwise? I attached screenshots of what I did manage to find below.
Thanks!