code: def _generate_union_cstor_funcs(self, union):
          
          for field in union.all_fields:
              enum_field_name = fmt_enum_name(field.name, union)
              func_args = [] if is_void_type(
                  field.data_type) else fmt_func_args_from_fields([field])
  
              with self.block_func(
                      func=self._cstor_name_from_field(field),
                      args=func_args,
                      return_type='instancetype'):
                  self.emit('self = [super init];')
                  with self.block_init():
                      self.emit('_tag = {};'.format(enum_field_name))
                      if not is_void_type(field.data_type):
                          self.emit('_{} = {};'.format(
                              fmt_var(field.name), fmt_var(field.name)))
              self.emit()
docs: Emits standard union constructor.