Loading request...
Change the implementation of `SelectionList` to use a set of indices instead of a dictionary to track selected options, removing the restriction that values must be hashable.
As it stands, if you try to create a `SelectionList` with values that are not hashable, you get an error. That's because we use a dictionary to keep track of the options that have been selected. Changing this to a set of indices should lift the seemingly arbitrary restriction that the values must be hashable while also making it straightforward & fast to do the selection bookkeeping and to return a sorted list of selections to the user.