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