don't raise an exception in the functional core
put all selected_choice specs in a describe block
rename selected_choice -> selection
Merge branch 'selection'