 /// values), according to the semantics of the given strategy.
 ///
 /// If `signal` or an active inner producer emits an error, the returned
-/// producer will forward that error immediately.
+/// producer will forward that error immediately. `Interrupted` events on inner
+/// producers will be silently dropped.
 public func flatten<T, E>(strategy: FlattenStrategy)(producer: Signal<SignalProducer<T, E>, E>) -> Signal<T, E> {
 	switch strategy {
 	case .Merge:

						self.startNextSignalProducer(nextSignalProducer)
					}

				default:
					self.observer.put(event)
				}

					case .Completed:
						decrementInFlight()

					// Explicitly drop interruped events from inner signals
					case .Interrupted:
						break
						
					default:
						relayObserver.put(event)
					}
