Some far-reaching changes related to new defn of choose