         return !timeoutExpired
     }
     
-    // MARK: State setting (Private)
+    // MARK: State setting
     
     /**
      Resolves the receiver by setting a result.
      
      - parameter result: The result to use for the resolution.
      */
-    func setResult(_ result: ResultType) {
+    public func setResult(_ result: ResultType) {
         cv.lock()
         assert(state == .unresolved, "Cannot set result. Future already resolved")
         

    /**
     Resolves the receiver by cancelling it.
     */
    func cancel() {
        cv.lock()
        assert(state == .unresolved, "Cannot cancel. Future already resolved")
        

     
     - parameter error: The error to use for the resolution.
     */
    public func setError(_ error: Error) {
        cv.lock()
        assert(state == .unresolved, "Cannot set error. Future already resolved")
        
