 	/// are the Nth elements of the two input producers.
 	@warn_unused_result(message="Did you forget to call `start` on the producer?")
 	public func zipWith<U>(otherProducer: SignalProducer<U, E>) -> SignalProducer<(T, U), E> {
-		return lift { sg -> Signal<T, E> -> Signal<(T, U), E> in { $0.zipWith(sg) } }(otherProducer)
+		return lift { signal -> Signal<T, E> -> Signal<(T, U), E> in { $0.zipWith(signal) } }(otherProducer)
 	}
 
 	/// Applies `operation` to values from `self` with `Success`ful results

	/// already.
	@warn_unused_result(message="Did you forget to call `start` on the producer?")
	public func takeUntilReplacement(replacement: SignalProducer<T, E>) -> SignalProducer<T, E> {
		return lift { (sg) -> Signal<T, E> -> Signal<T, E> in { $0.takeUntilReplacement(sg) } }(replacement)
	}

	/// Waits until `self` completes and then forwards the final `count` values

	/// will also be interrupted.
	@warn_unused_result(message="Did you forget to call `start` on the producer?")
	public func combineLatestWith<U>(otherProducer: SignalProducer<U, E>) -> SignalProducer<(T, U), E> {
		return lift { signal -> Signal<T, E> -> Signal<(T, U), E> in { $0.combineLatestWith(signal) } }(otherProducer)
	}

	/// Delays `Next` and `Completed` events by the given interval, forwarding
