Computed properties change gate

I think this is a weird behaviour everybody faced.

When a dependency of a CP changes, that CP is recomputed, but even if the value after being recomputed is the same that it used to be, any other CP depending on the first one is considered stale.

Ideally i would love to improve the array side, we should focus only the subset of array stuff the primary focus of this RFC. I believe we should aim to delegate as much of the array related improvements to a separate RFC