                     self.cancelled({ cancellationToken.cancel() }, on: Promise.queue)
                 }
             }
+        }
+    }
+
+    public func fulfill(with value: ValueType?, orRejectWith error: Error?) {
+        if let error = error {
+            fulfill(with: .failure(error))
+        } else if let value = value {
+            fulfill(with: .success(value))
         }
     }
 }

        self.fulfilledObject = .failure(error)
    }
}
// fulfillment
extension Promise {
    


extension Promise {
    public class func completed() -> Completable {
        return Completable(())
    }

    public var completable: Completable {
