 		forward: @escaping (Value) -> U,
 		backward: @escaping (U) -> Value
 	) -> TransactionalProperty<U, NoError> {
-		return TransactionalProperty<U, NoError>(self, transform: forward) { proposedInput in
+		return TransactionalProperty(self, transform: forward) { proposedInput in
 			return .success(backward(proposedInput))
 		}
 	}

		_ predicate: @escaping (Value, P.Value) -> Result<(), TransactionError>
	) -> TransactionalProperty<Value, TransactionError> {
		return TransactionalProperty<Value, TransactionError>
			.validate({ TransactionalProperty(self, $0) }, with: other, predicate)
	}
}

			if let value = proposed.swap(nil) {
				property?.value = value
			} else {
				property?.property.revalidate()
			}
		}

