typealias OptionalArray<T> = Array<Optional<T>> extension OptionalArray { func flatten() -> Array<Element.Wrapped> { return self.flatMap { $0 } } }