         public init(_ upstreams: Upstream...) {
             self.publishers = upstreams
         }
-        
+
         public func receive<S>(subscriber: S) where S: Subscriber, Self.Failure == S.Failure, Self.Output == S.Input {
             let initial: AnyPublisher<Output, Failure>? = nil
             let emptyPublisher = Just(Output()).setFailureType(to: Failure.self).eraseToAnyPublisher()
-            
+
             let zipped = publishers.reduce(into: initial) { partialResult, upstream in
                 if let res = partialResult {
                     partialResult = res.zip(upstream) { elements, element in

                    partialResult = upstream.map { [$0] }.eraseToAnyPublisher()
                }
            } ?? emptyPublisher
            
            zipped.subscribe(subscriber)
        }
    }

        ///
        /// This publisher uses an array of its upstream publishers' common output type.
        public typealias Output = [Upstream.Output]

        /// The kind of errors this publisher might publish.
        ///
        /// This publisher uses its upstream publishers' common failure type.
        public typealias Failure = Upstream.Failure

        /// The array of upstream publishers that this publisher zips together.
        private let publishers: [Upstream]

        /// Creates a publisher created by applying the zip function to an array of upstream publishers.
        /// - Parameter upstream: An array containing zero or more publishers to zip with this publisher.
        public init(_ upstreams: [Upstream]) {
