 			if let v = maybeValue {
 				return .Success(Box(v))
 			} else {
-				return .Failure(error.orDefault(RACError.Empty.error))
+				return .Failure(error.orDefault(defaultError))
 			}
 		}
 	}


	/// Performs the given action upon each value in the receiver, bailing out
	/// with an error if it returns `false`.
	public func try(f: (T, NSErrorPointer) -> Bool) -> ColdSignal {
		return tryMap { (value, error) in f(value, error) ? value : nil }
	}

	/// Performs the given action upon each value in the receiver, bailing out


	/// Attempts to map each value in the receiver, bailing out with an error if
	/// a given mapping is `nil`.
	public func tryMap<U>(defaultError: NSError = RACError.Empty.error, _ f: (T, NSErrorPointer) -> U?) -> ColdSignal<U> {
		return tryMap { value -> Result<U> in
			var error: NSError?
			let maybeValue = f(value, &error)
