HV-877 Supporting type use constraints on type arguments

This applies to `PropertyMetaData`. After your feedback, I'll continue the work on parameters and return values and I'll extend `ParameterMetaData` and `ReturnValueMetaData`.
Why does the presence of type parameters per-se require an unwrapping? Isn't only the `UnwrapValidatedValue` annotation the trigger for this (this may have changed recently and I have forgotten, I'm not sure)?