 	/// 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(ReactiveCocoa.combineLatestWith)(otherProducer)
+		return lift { sg -> Signal<T, E> -> Signal<(T, U), E> in { $0.combineLatestWith(sg) } }(otherProducer)
 	}
 
 	/// Delays `Next` and `Completed` events by the given interval, forwarding

	/// 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(ReactiveCocoa.zipWith)(otherProducer)
	}

	/// Applies `operation` to values from `self` with `Success`ful results

		return map(transform).flatten(strategy)
	}
}
