Minor overhaul of the parser selector code

Helps to stop `/random` (from 80309be) from directing users to
unparsable splits. Also cleans up some code.