Avatar
typealias ArrayO<T> = Array<Optional<T>> extension ArrayO { func foo() -> Bool { return reduce(true) { $0 && ($1 != nil) } } } ↑は書けたけど、普通に Arrayextension になってる・・・