[Second review] SE-0395: Observability

Bird's-eye view: you have this giant data structure that could well describe the state of the app, and you want to have a function to be magically called when needed to reflect the change in a particular subset of the state:

func foo() {
    let v = s.a.b[123].c["key"]
    print(v) // "UI"
}

An extremely inefficient workaround I outlined above would be to use polling:

var oldValue = ...

func timer() { // called every 1/100 second
    let value = s.a.b[123].c["key"]
    if oldValue != value {
        oldValue = value
        foo()
    }
}

I don't understand what you mean, can you show a pseudo code?