I certainly don’t. I think the string annotations we had prior were vastly superior because they were simpler and clear that it’s on the person introspecting to resolve them. 649 does nothing to change the fact that they may not be resolvable; it just changes the mechanism for how they are deferred.
This is resolvable currently by not publicly exporting that type. Users importing it anyway, even though it only exists for type information would then be clear they are importing a not-exported symbol.
While I’m sympathetic to those wanting all annotations to resolve at runtime, and I even do my part here, there are cases where it’s truly not possible. The obvious cases with functions that accept types that from libraries without relying on those libraries above is enough, but even without cases like that, the way to make types deferred properly without harming runtime introspection is also incredibly obtuse without a deep understanding of the competing needs.