 }
 
 // Concrete future wrapper that will never get filled.
-private final class UnfilledFuture<Value>: FutureBase<Value> {
+private final class Never<Value>: FutureBox<Value> {
     override init() {}
 
     override func upon(queue: dispatch_queue_t, body: Value -> ()) {}

}

// Concrete future wrapper given an instance of a `FutureType`.
private final class ForwardingFuture<Future: FutureType>: FutureBase<Future.Value> {
    let base: Future
    init(base: Future) {
        self.base = base

}

// Concrete future wrapper for an always-filled future.
private final class Always<Value>: FutureBox<Value> {
    let value: Value
    init(value: Value) {
        self.value = value
