Implement signal(initial) returning [get, set], and effect(fn)that auto-tracks signal reads and re-runs when they change.
signal(initial)
[get, set]
effect(fn)
solve(ops) drives signals. Returns the log of effect call values.
solve(ops)
Sample tests