     let handleDuplicates = (Key.self == String.self)
     
     let tmpResult = Dictionary(_unsafeUninitializedCapacity: numElems,
-      allowingDuplicates: handleDuplicates) { (keys, vals, outCount) in
+      allowingDuplicates: handleDuplicates) { keys, vals in
       
       let objectKeys = UnsafeMutableRawPointer(mutating:
         keys.baseAddress!).assumingMemoryBound(to: AnyObject.self)

      let handleDuplicates = (Key.self == String.self)
      
      result = Dictionary(_unsafeUninitializedCapacity: numElems,
        allowingDuplicates: handleDuplicates) { (keys, vals, outCount) in
        
        let objectKeys = UnsafeMutableRawPointer(mutating:
          keys.baseAddress!).assumingMemoryBound(to: AnyObject.self)

            Key.self)).deinitialize(count: numElems)
        }
      }
      return success ? numElems : 0
    }
    
    result = success ? tmpResult : nil
