fix exponential blowup in Fuel.choose

(joint work with Simon Cruanes)
merge from gasche/master