1# we require the discriminator to be non-optional
2{ 'enum': 'Enum', 'data': [ 'one', 'two' ] }
3{ 'struct': 'Base',
4  'data': { '*switch': 'Enum' } }
5{ 'struct': 'Branch', 'data': { 'name': 'str' } }
6{ 'union': 'MyUnion',
7  'base': 'Base',
8  'discriminator': 'switch',
9  'data': { 'one': 'Branch',
10            'two': 'Branch' } }
11