                 objc_sync_exit(lock)
                 
                 if doResolve {
-                    task.complete(result: results, error: nil)
+                    let resultValue: Any = results
+                    task.complete(result: resultValue, error: nil)
                 }
                 return nil
             }

                    objc_sync_exit(lock)
                    
                    if doResolve {
                        task.complete(result: results, error: nil)
                    }
                }
                return nil

        return task
    }
    
    class func all(tasks: [HNTask]) -> HNTask {
        let task = HNTask()
        let lock = NSObject()
        var count = tasks.count
        var results = [Any?](count: count, repeatedValue: nil)

        for (index, value) in enumerate(tasks) {
            value.continueWith { context in
                if context.isError() {
