Following up on #26297 and #27246, it turns out that the TypeDescriptor cache in CachedIntrospectionResults can be better placed in GenericTypeAwarePropertyDescriptor and accessed via a downcast there, along with corresponding ResolvableType instances.