def _generate_union_class_variant_creators(self, ns, data_type):<EOL>
union_type = class_name_for_data_type(data_type)<EOL>for field in data_type.fields:<EOL><INDENT>if not is_void_type(field.data_type):<EOL><INDENT>field_name_reserved_check = fmt_func(field.name, check_reserved=True)<EOL>val_type = self.map_stone_type_to_pep484_type(ns, field.data_type)<EOL>self.emit('<STR_LIT>')<EOL>self.emit('<STR_LIT>'.format(<EOL>field_name=field_name_reserved_check,<EOL>val_type=val_type,<EOL>union_type=union_type,<EOL>))<EOL>self.emit()<EOL><DEDENT><DEDENT>
Generate the following section in the 'union Shape' example:
@classmethod
def circle(cls, val: float) -> Shape: ...