Given Func and Action are declared as Func<in T, out TResult> and Action<in T>, which delegate conversion is legal?// class Animal { } class Dog : Animal { } Func<Dog, Animal> original = d => d;