@Anonymous
The ForAll would be used in a situation where you need a Table result that has a dissimilar schema than the Combobox.
For example, if your Items property of a control is : Choices(somecolumn) then the items will be a table of Value columns. This is valid for a Choice column update and you can simply use the combobox.SelectedItems property as it WILL be a table of Value columns (which is what you need to update the data column).
If your control is based on something else (this is very common) like a lookup to another list. Let's say - Filter(anotherList, someCriteria) or even just anotherList Then you will have a table with many columns of the datasource and, most likely, no value column.
So, in the above, if we had, let's say, the Title column being selected and we wanted to write back the choices based on those titles, then we need to restructure the schema. The easiest way is to simply do the following:
ForAll(combobox.SelectedItems, {Value: Title})
This would result in a table of value columns with the title in them...which is what a Choice column wants to have.