 
   private init() {}
 
+  deinit
+  {
+    WaitQueue.dealloc(waiters)
+  }
+
   /// Initialize to an already determined state
   ///
   /// - parameter value: the value of this `Deferred`

      let queue = waiters
      if CAS(queue, nil, &waiters)
      {
        // syncprint(syncread(&waiting))
        // syncprint("Queue tail is \(queue)")
        WaitQueue.notifyAll(queue)
        break
      }
    }
    // The result is now available for the world
  }

  // private var waiting: Int32 = 0

  private func enqueue(waiter: UnsafeMutablePointer<Waiter>) -> Bool
  {

    }
  }

  // MARK: private methods

  /// Change the state of this `Deferred` from `.Waiting` to `.Executing`
