If you look at this exercise for some other languages like Java and JavaScript, it is classified as “Hard” but for “Go” it is classified as “Medium”. I understand that difficulty can vary between languages for a particular exercise but I found this one to be difficult (close in difficulty to the Forth exercise which is “Hard”) as my solution involved mapping compute cells to their dependencies.
Other shorter solutions from other community members take advantage of the fact that you can capture the dependency cells of compute cells in a closure so you don’t need to store them in a data structure and they take advantage of the fact that compute cells are created after their dependencies but these solutions often have the drawback of iterating through all compute cells ever created on each update.
If the difficulty of this exercise is set algorithmically, it may skewed (pure speculation on my part as I have not looked at any statistics) by interest in solving this problem (due to the popularity of reactive frameworks like React).