 
 	/// Attempts to load the project referenced by the options, and configure it
 	/// accordingly.
-	public func loadProject() -> ColdSignal<Project> {
-		return checkoutOptions.loadProject().on(next: { project in
-			// Never check out binaries if we're skipping the build step,
-			// because that means users may need the repository checkout.
-			if !self.buildAfterUpdate {
-				project.useBinaries = false
-			}
-		})
+	public func loadProject() -> SignalProducer<Project, CarthageError> {
+		return checkoutOptions.loadProject()
+			|> on(next: { project in
+				// Never check out binaries if we're skipping the build step,
+				// because that means users may need the repository checkout.
+				if !self.buildAfterUpdate {
+					project.useBinaries = false
+				}
+			})
 	}
 }

		return BuildOptions(configuration: configuration, buildPlatform: buildPlatform, skipCurrent: true, colorOptions: checkoutOptions.colorOptions, verbose: verbose, directoryPath: checkoutOptions.directoryPath)
	}

	/// If `buildAfterUpdate` is true, this will be a signal representing the
	/// work necessary to build the project.
	///
	/// Otherwise, this signal will be empty.
	public var buildSignal: ColdSignal<()> {
		if buildAfterUpdate {
			return BuildCommand().buildWithOptions(buildOptions)
		} else {
			return .empty()
		}
	}


		return self(buildAfterUpdate: buildAfterUpdate, configuration: configuration, buildPlatform: buildPlatform, verbose: verbose, checkoutOptions: checkoutOptions)
	}

	public static func evaluate(m: CommandMode) -> Result<UpdateOptions, CommandantError<CarthageError>> {
		return create
			<*> m <| Option(key: "configuration", defaultValue: "Release", usage: "the Xcode configuration to build (ignored if --no-build option is present)")
			<*> m <| Option(key: "platform", defaultValue: .All, usage: "the platform to build for (ignored if --no-build option is present)")
