                 if let dir = outputDirectory {
                     let f = "\(dir)/\(node)-unions.swift"
                     write(unions, to: f)
-                } else { outq.async(group: queues) { print(unions) } }
+                } else { outq.async(group: queues) { outputString += unions } }
             }
             background.async(group: queues) {
                 let convert = swiftCode(gir.functions)

                    let f = "\(dir)/\(node)-aliases.swift"
                    write(aliases, to: f)
                } else {
                    outq.async(group: queues) { print(aliases) } }
            }
            background.async(group: queues) {
                let callbacks = gir.callbacks.filter{!blacklist.contains($0.name)}.map(swiftCallbackAliasCode).joined(separator: "\n\n")
                if let dir = outputDirectory {
                    let f = "\(dir)/\(node)-callbacks.swift"
                    write(callbacks, to: f)
                } else { outq.async(group: queues) { print(callbacks) } }
            }
            background.async(group: queues) {
                let constants = gir.constants.filter{!blacklist.contains($0.name)}.map(swiftCode).joined(separator: "\n\n")
                if let dir = outputDirectory {
                    let f = "\(dir)/\(node)-constants.swift"
                    write(constants, to: f)
                } else {  outq.async(group: queues) { print(constants) } }
            }
            background.async(group: queues) {
                let enumerations = gir.enumerations.filter{!blacklist.contains($0.name)}.map(swiftCode).joined(separator: "\n\n")
                if let dir = outputDirectory {
                    let f = "\(dir)/\(node)-enumerations.swift"
                    write(enumerations, to: f)
                } else { outq.async(group: queues) { print(enumerations) } }
            }
            background.async(group: queues) {
                let bitfields = gir.bitfields.filter{!blacklist.contains($0.name)}.map(swiftCode).joined(separator: "\n\n")
                if let dir = outputDirectory {
                    let f = "\(dir)/\(node)-bitfields.swift"
                    write(bitfields, to: f)
                } else { outq.async(group: queues) { print(bitfields) } }
            }
            background.async(group: queues) {
                let convert = swiftUnionsConversion(gir.functions)

                        let newContent = preamble + string
                        try newContent.write(toFile: fileName, atomically: true, encoding: .utf8)
                    }
                    outq.async(group: queues) { outputFiles.insert(fileName) }
                } catch {
                    outq.async(group: queues) { print("\(error)", to: &Streams.stdErr) }
                }
