What does the following print, and what underlying rule about Task value propagation explains it?
@TaskLocal static var trace = "root"
func run() async {
await $trace.withValue("A") {
Task.detached {
print(Self.trace)
}
}
}