Avatar
コンパイル後に消えたら、コンパイル単位が異なるときに existential 扱いにされたら↓みたいな型チェックができなくない? func foo1() -> <A: Animal> A { ... } func foo2() -> <A: Animal> A { ... } var a = foo1() let b = foo2() a = b // NG