Co sprawia, że ​​kowariant ValueTuple?

Kompiluje się to poprawnie w C # 7.3 (Framework 4.8): (string, string) s = ("a", "b"); (object, string) o = s; Wiem, że jest to cukier składniowy dla następujących składników, który również poprawnie się kompiluje: ValueTuple<string, string> s = new ValueTuple<string, string>("a",...