Whenever a union with a single subtype [X] is detected, emit a warning and generate the field as the subtype X instead of generating it as a union. All testcases are now generated with version "testing", so that the generated code is not altered every run.