 }
 
 extension SignalProducerProtocol where Value: SignalProducerProtocol, Error == Value.Error {
-	/// Returns a signal that forwards values from the latest signal sent on
-	/// `signal`, ignoring values sent on previous inner signal.
-	///
-	/// An error sent on `signal` or the latest inner signal will be sent on the
-	/// returned signal.
-	///
-	/// The returned signal completes when `signal` and the latest inner
-	/// signal have both completed.
+	/// - warning: An error sent on `signal` or the latest inner signal will be
+	///            sent on the returned signal.
+	///
+	/// - note: The returned signal completes when `signal` and the latest inner
+	///         signal have both completed.
+	///
+	/// - returns: A signal that forwards values from the latest signal sent on
+	///            `signal`, ignoring values sent on previous inner signal.
 	fileprivate func switchToLatest() -> SignalProducer<Value.Value, Error> {
 		return SignalProducer<Value.Value, Error> { observer, disposable in
 			let latestInnerDisposable = SerialDisposable()

	/// resulting producers (into a signal of values), according to the
	/// semantics of the given strategy.
	///
	/// If `signal` or any of the created producers fail, the returned signal
	/// will forward that failure immediately.
	public func flatMap<U>(_ strategy: FlattenStrategy, transform: @escaping (Value) -> SignalProducer<U, Error>) -> Signal<U, Error> {
		return map(transform).flatten(strategy)
	}

	///
	/// - warning: `interrupted` events on inner signals will be treated like
	///            `completed` events on inner signals.
	///
	/// - parameters:
	///   - strategy: Strategy used when flattening signals.
	public func flatten(_ strategy: FlattenStrategy) -> Signal<Value.Value, Error> {
		return self
			.map(SignalProducer.init)
