generic/protected type incomplete type

Is your capability/feature request related to a problem?

Describe the solution you'd like

Need to be able to write subprograms for an uninstantiated protected type. Otherwise would have to write a separate subprogram for each instantiated protected type. Need to review Suave to see how they handled the tagged types and passing class wide types.

Describe alternatives you've considered

Additional context