         guard case .success = semaphore.wait(timeout: time) else { return nil }
         return result
     }
-
-    // MARK: PromiseProtocol
-
-    @discardableResult
-    public func fill(with value: Value) -> Bool {
-        return variant.store(value)
-    }
 }
 
 extension Deferred.Continuation {


/// A deferred is a value that may become determined (or "filled") at some point
/// in the future. Once a deferred value is determined, it cannot change.
public struct Deferred<Value>: FutureProtocol, PromiseProtocol {
    /// The primary storage, initialized with a value once-and-only-once (at
    /// init or later).
    private let variant: Variant

    public init(filledWith value: Value) {
        variant = Variant(for: value)
    }
}

extension Deferred: FutureProtocol {
    /// An enqueued handler.
    struct Continuation {
        let target: Executor?
