[3.1] IRGen: Fix partial_apply of instantiated generic return values
We might have to reabstract the return type -- the subsituted return type might
be by-value while the partially applied function might have an indirect return
or the two might have different indirect return types (substituted and not).
SR-4253