C# 9 Covariant Return Types