 /// deinitialized.
 public func <~ <Destination: MutablePropertyType, Source: PropertyType where Source.Value == Destination.Value>(destinationProperty: Destination, sourceProperty: Source) -> Disposable {
 	return destinationProperty <~ sourceProperty.producer
-}+}

		}

		if value != nil {
			disposable = observerDisposable.map(ScopedDisposable.init)
			self.sources = sources

			_value = { value }

	/// The producer and the signal of the created property would complete only
	/// when the `propertyProducer` completes.
	private init(propertyProducer: SignalProducer<Value, NoError>, capturing sources: [Any]) {
		var value: Value!

		let observerDisposable = propertyProducer.start { event in
			switch event {
			case let .Next(newValue):
				value = newValue

			case .Completed, .Interrupted:
				break

			case let .Failed(error):
				fatalError("Receive unexpected error from a producer of `NoError` type: \(error)")
