Почему не быстродействующая поддержка возвращает тип covarience в методах, определенных в протоколах? например
class Base { }
class Derived : Base { }
protocol Requirement {
var someVariable : Base { get }
}
struct MyStruct : Requirement{
let someVariable : Derived
}
Компилятор подтверждает ошибку, которую MyStruct не соответствует требованиям протокола. Насколько я знаю, MyStruct выполняет все требования LSP, поэтому мне интересно, почему это не разрешено в Swift?