 				expect(signal).to(beNil())
 			}
 
-			it("should not keep resulting signal alive indefinitely even if it has an observer with retained disposable") {
+			it("should deallocate even if it has an observer with retained disposable") {
 				var disposable: Disposable? = nil
 				weak var signal: Signal<AnyObject, NoError>? = {
 					let signal: Signal<AnyObject, NoError> = Signal.never.map { $0 }

				expect(signal).to(beNil())
			}

			it("should not keep signal alive indefinitely even if it has an observer with retained disposable") {
				var disposable: Disposable? = nil
				weak var signal: Signal<AnyObject, NoError>? = {
					let signal: Signal<AnyObject, NoError> = Signal.never

				expect(lastValue).to(equal("2"))
			}

			it("should deallocate") {
				weak var signal: Signal<AnyObject, NoError>? = Signal.never.map { $0 }

				expect(signal).to(beNil())
			}

			it("should deallocate even if it has an observer") {
				weak var signal: Signal<AnyObject, NoError>? = {
					let signal: Signal<AnyObject, NoError> = Signal.never.map { $0 }
					signal.observe(Observer())
