                 context.operations.push(queuedOperation)
             }
         }
+        try Task.checkCancellation()
+        return value
     }
     
     private func dequeue<Operation>(

        filter: (DarwinCentral.Operation) -> (Operation?)
    ) where Operation: DarwinCentralOperation {
        #if DEBUG
        log?("Dequeue \(function) for peripheral \(peripheral) with \(result)")
        #endif
        let context = self.continuation(for: peripheral)
        context.operations.popFirst(where: { filter($0.operation) }) { (queuedOperation, operation) in

            let state = unsafeBitCast(centralManager.state, to: DarwinBluetoothState.self)
            log("Did update state \(state)")
            self.central.objectWillChange.send()
        }
        
        @objc(centralManager:didDiscoverPeripheral:advertisementData:RSSI:)
