Lots of work on RandomElementChooser derivatives

Separated parts out
Tweaks to Roll