以下が型消去という認識であっているでしょうか？

```

    protocol Animal { }
    struct Cat: Animal { }
    
    let animals: [Cat] = [Cat(), Cat(), Cat()]
    // ↓型消去
    let animals: [some Animal] = [Cat(), Cat(), Cat()]
    
    
    func getAnimal() -> Cat {
      return Cat()
    }
    // ↓型消去
    func getAnimal() -> some Animal {
      return Cat()
    }
    
    func getAnimal() -> any Animal {
      return Bool.random() ? Cat() : Dog()
    }
    
```
CC BY-SA 4.0
2022-06-11T12:40:44.137
89337
2022-06-11T12:40:44.137
40856
question
swift
Swiftのany someを用いた型消去の認識について