В C# можно добавить аннотацию variance к параметру типа, ограниченного типом значения:
interface IFoo<in T> where T : struct
{
void Boo(T x);
}
Почему это разрешено компилятором, если аннотация variance не имеет совершенно никакого смысла в такой ситуации?