Hi Christopher,
I am in general trying to make these blocks looks more readable for non-programmers, so absolutely agree about the "switch..case" labels.
Maybe the label "switch" could be "check value of <field_name> case .. case..." and the label "default" could be replaced with "otherwise".
The "switch" statement can be more visually effective than a "if" at least because there's no need to repeat the property name for every value that has to be checked.
The setup block reflects how the automation program engine works in this software. It's exactly in there that program initialization takes place.
The "when" handlers can be defined either in the setup or the main and could also be registered or not based on some condition.
Anything outside the "setup" and "main" blocks do not generate any code at all and can be used as "place holder" or "snippets" that gets saved along with the workspace.
I find this approach somehow handy during the design of a program with the visual editor.
Thanks for the feedback :)