         
         // MARK: - CBPeripheralDelegate
         
+        @objc(peripheral:didDiscoverServices:)
         func peripheral(
             _ corePeripheral: CBPeripheral,
             didDiscoverServices error: Swift.Error?
         ) {
             
-            log(corePeripheral.gattIdentifier.uuidString, error?.localizedDescription)
+            if let error = error {
+                log("Peripheral \(corePeripheral.gattIdentifier.uuidString) failed discovering services (\(error))")
+            } else {
+                log("Peripheral \(corePeripheral.gattIdentifier.uuidString) did discover \(corePeripheral.services?.count ?? 0) services")
+            }
             
             let peripheral = Peripheral(corePeripheral)
             guard let continuation = self.central.continuation.discoverServices[peripheral] else {

        }
        
        func peripheralDidUpdateName(_ peripheralObject: CBPeripheral) {
            log(peripheralObject.gattIdentifier.uuidString, peripheralObject.name)
        }
        
        func peripheral(_ peripheralObject: CBPeripheral, didReadRSSI rssiObject: NSNumber, error: Error?) {
            log(peripheralObject.gattIdentifier.uuidString, rssiObject.description, error?.localizedDescription)
            let peripheral = Peripheral(peripheralObject)
            guard let continuation = self.central.continuation.readRSSI[peripheral] else {
                assertionFailure("Missing continuation")

            self.central.continuation.connect[peripheral] = nil
        }
        
        @objc(centralManager:didFailToConnectPeripheral:error:)
        func centralManager(
            _ centralManager: CBCentralManager,
            didFailToConnect corePeripheral: CBPeripheral,
            error: Swift.Error?
        ) {
            log("Did fail to connect to peripheral \(corePeripheral.gattIdentifier.uuidString) (\(error!))")
            assert(self.central != nil)
            assert(self.central?.centralManager === centralManager)
            assert(corePeripheral.state != .connected)
            let peripheral = Peripheral(corePeripheral)
            guard let continuation = self.central.continuation.connect[peripheral] else {
                assertionFailure("Missing continuation")
