We have a `class C<T, U, V> where U: Switch`. Another class `MyPlugin: C<Context, OneCaseEnum, PluginType>` inherits from `C`.
Running the attached sample code causes it to fail with
`OneCaseEnum` is only used in the context of this generic and stored in the class. In our real project adding something like `print(OneCaseEnum.myCase)` is enough to fix the issue, but in this sample only adding a direct reference to the type metadata as `public let test: Any.Type = PluginFactory<Context, OneCaseEnum, PluginType>.self` will fix it (and continues to work in release builds).
In our real app using `all_load` also doesn't work, but I haven't tried this in this code sample.