Model queue-like work as a deterministic Swift array and loop.

Work Queue Panel

work_queue_panel.swift
let extra = 
var tasks = ["read", extra, "write"]
var log: [String] = []
var total = 0

for task in tasks {
    log.append("run:\(task)")
    total += 1
}

let joined = log.joined(separator: ",")

print("extra=\(extra)")
print("log=\(joined)")
print("total=\(total)")
let extra = 
var tasks = ["read", extra, "write"]
var log: [String] = []
var total = 0

for task in tasks {
    log.append("run:\(task)")
    total += 1
}

let joined = log.joined(separator: ",")

print("extra=\(extra)")
print("log=\(joined)")
print("total=\(total)")
let extra = 
var tasks = ["read", extra, "write"]
var log: [String] = []
var total = 0

for task in tasks {
    log.append("run:\(task)")
    total += 1
}

let joined = log.joined(separator: ",")

print("extra=\(extra)")
print("log=\(joined)")
print("total=\(total)")
queue panel A queue can be replayed as list updates and a bounded loop when the work items are fixed inputs.