Opaque Argument Type w HFOFSJDT શশྔԽ ͱΑ͘ࣅͨߏΛ࣋ͭ w Ϣχόʔαϧ ීวɾશশ ʹͳΒͳ͍ w useAnimal(a: T)ͱಉ͜͡ͱ͕Ͱ͖ͳ͍ w useAnimal(a: some T)ͱॻ͚ͳ͍ w ಛఆͷ࣮ࡏ ଘࡏ ͢ΔܕΛඞͣ࣋ͭ ଘࡏྔԽ
ଘࡏྔԽ w ྔԽܕͷදݱͱରরతʹɺଘࡏྔԽ͕ ؔ ϝιου શମΛείʔϓʹऔ͍ͬͯΔ w ࣮ࡍɿfunc() -> (∃ A. A: Animal) w ײ֮ɿ∃ A. (func() -> (A: Animal)) w any ProtocolOpaque Argument Type ଘࡏྔԽܕΛͦͷ··දݱͯͦ͠͏ &YJTUFOUJBM$POUBJOFSΛ ߟྀ͠ͳ͚Εʜ