CHOICEs

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.