"When writing your formula, keep in mind that records can be processed in any order and, when possible, in parallel. The first record of the table may be processed after the last record. Take care to avoid ordering dependencies. For this reason, you can't use the UpdateContext, Clear, and ClearCollect functions within a ForAll function because they could easily be used to hold variables that would be susceptible to this effect. You can use Collect, but the order in which records are added is undefined."
It says to take care to avoid ordering dependencies, and then takes away extremely useful options just to make *sure* we cannot make dependency mistakes. It does not even list here that you can't use Set, but you definitely cannot. This has been an extremely problematic limitation in the ForAll function.
Please let us at least use Set inside ForAll. This is the only loop available to us and we cannot even completely utilize it. I do not appreciate having a "failsafe" in place that makes the function extremely difficult to utilize.