A decision block that lets the user select from a list of choices.
The fiber will pause until the user has made a choice, cancelled the dialog or the timeout expired.
If an array is set as choices, then its elements are used as labels. If a dictionary is set, then the values are used as labels. A number or text is used as the label for a single choice. If null, the no choices will be shown.
The sift function can be used to filter the choices.
Note! The a selected indices/keys output variable is assigned an array
even when only a single choice is possible. To get the first or single choice index/key use the subscript,
i.e: selected[0]
or choices[selected[0]]
.