         }
         
         input.asyncMapToDictionary(block: { (input, completion) in
-            DispatchQueue.global(qos: .default).asyncAfter(deadline: .now() + .seconds(Int.random(in: 0 ... 3))) {
+            DispatchQueue.global(qos: .default).asyncAfter(deadline: .now() + .milliseconds(Int.random(in: 0 ... 500))) {
                 completion(input, transform(input))
             }
         }, queue: DispatchQueue.main) { (output) in

            expectation.fulfill()
        }
        
        wait(for:[expectation], timeout: 10, enforceOrder: true)
    }
    
    

        let expectedOutput = ["A":"a", "B":"b", "C":"c", "D":"d", "E":"e", "F":"f", "G":"g", "H":"h"]
        
        input.asyncMapToDictionary(block: { (input, completion) in
            DispatchQueue.global(qos: .default).asyncAfter(deadline: .now() + .milliseconds(Int.random(in: 0 ... 500))) {
                completion(input, input.lowercased())
            }
        }, queue: DispatchQueue.main) { (output) in
