Avatar
そこらへん闇で、一般的にはオーバーライド時に引数の型をゆるめることはできるんだけど、そもそも Swift の Foo?Foo が代入できるのはサブタイピングじゃなくて暗黙の型変換だから、それがオーバーライドでサブタイピングっぽく振る舞うのが闇で、実装するだけならコンパイル通るけど実行するとクラッシュとかあった気が。