consider the case of names(choices) is NULL
use lapply() instead of sapply(simplify = FALSE) since lapply() also preserves names