     
     @inline(__always)
     private func send<Request: ATTProtocolDataUnit>(_ request: Request) async throws {
-        
         log?("Request: \(request)")
-        
+        assert(Request.attributeOpcode.type != .response)
         guard let _ = await connection.send(request)
             else { fatalError("Could not add PDU to queue: \(request)") }
-        
         // write pending PDU
         let didWrite = try await self.connection.write()
         assert(didWrite, "Expected queued write operation")

        // send acknowledgement
        do { try await send(confirmation) }
        catch { log?("Unable to send indication confirmation. \(error)") }
        indications[indication.handle]?(indication.value)
    }
}


    }
    
    private func notification(_ notification: ATTHandleValueNotification) {
        guard let handler = notifications[notification.handle] else {
            log?("Recieved notification for unregistered handle \(notification.handle)")
            return
        }
        // callback
        handler(notification.value)
    }
    
    private func indication(_ indication: ATTHandleValueIndication) async {
