Simulate React's effect cleanup ordering. Multiple effects on a component:
solve(effects, renders) returns the log of all effect/cleanup calls.Each render: { shouldRun: boolean[] } indicates which effects re-run.
solve(effects, renders)
{ shouldRun: boolean[] }
Sample tests