CHOICEs are supported fully, with the introduction of an extra
choiceIdx variable in the generated code, which is filled with an
integer value (0 means that the first choice was used, 1 means the second, etc).
The mapping code therefore always checks this value first and acts accordingly.