Compare <<*AskOptional*>> and <<*AskOptions(radio)*>>
Let's say you are drafting a Will. How might you "<<*Ask. . .>> if there are minor children?
This works great: <<*AskOptional*!Minors!Are any children under 18 years of age?*>>
When processed, the user will be presented with the question and a checkbox to fill or not fill. (Checking the box means 'Yes' or 'True.' Leaving it unchecked means 'No' or 'False'.)
But what if the answer should have been 'Yes' but the user forgot to check it (or thought he/she did, but didn't). Then !Minors! would be set to "False" and some results might be messed up.
To avoid this possibility, you might prefer to rewrite the question in such a way as to force an affirmative response This can be done via the <<*AskOptions(radio)>> command.
Here is a recast version of the above which forces the user to choose an answer before processing will continue:
<<*AskOptions(radio)*!Minors!Minor Children/No Minor Children*>>
It is not so much the 'AskOptions' that does it, but the 'radio' argument. Without 'radio,' two check boxes will be presented on the screen: "Minor Children" and "No Minor Children". Both could be left blank, defeating the purpose behind this exercise. Only 'radio' requires the user to provide an answer.)