Useful information that I don't know how to dig out using existing API.
Use case is in https://github.com/DotNetAnalyzers/ReflectionAnalyzers where we want to check:
typeof(C<>).MakeGenericType(typeof(RefStruct));
class C<T>
{
}
That use case doesn't seem to have any ref-structs. Nor does it explain why it's important to know if it's a ref-struct.
The goal of the analyzer is to produce warnings when MakeGenericType is called with illegal type parameters that would be runtime errors. I just checked and this call does not throw at runtime so it is not a good example for motivation :)
MakeGenericType does throw when called with Span<Foo>.