I suspect this use of wrapfun will be so common, we'll need a special idiom. Maybe have special behaviour if choices is named?