     }
     return rv == expectedResult
 }
-<<<<<<< HEAD
-=======
 
 /// Executes desired program and
 /// - Parameters:

        process.waitUntilExit()
        return Int(process.terminationStatus)
    } catch {
<<<<<<< HEAD
        perror("Cannot run \(command)")
=======
        print("Cannot run \(command) with error: \(error)", to: &Streams.stdErr)
>>>>>>> pre-namespace
        return nil
    }
}

///   - output: the FileHandle to redirect standard output to if not `nil`
/// - Throws: an error if any of the commands cannot be run
/// - Returns: an array of processes being executed
func pipe(_ components: [CommandArguments], in path: [String] = ProcessInfo.processInfo.environmentPaths ?? [], input: Any? = nil, output: Any? = nil) throws -> [Process] {
    let pipes: [Any?] = components.enumerated().map { $0.offset == 0 ? input : Pipe() as Any? } + [output]
    let processes = try components.enumerated().map {
        try createProcess(command: $0.element.command, in: path, arguments: $0.element.arguments, standardInput: pipes[$0.offset], standardOutput: pipes[$0.offset+1])
