code: def fmt_type(data_type):
      
      if is_struct_type(data_type) and data_type.has_enumerated_subtypes():
          possible_types = []
          possible_subtypes = data_type.get_all_subtypes_with_tags()
          for _, subtype in possible_subtypes:
              possible_types.append(fmt_type_name(subtype))
          if data_type.is_catch_all():
              possible_types.append(fmt_type_name(data_type))
          return fmt_jsdoc_union(possible_types)
      else:
          return fmt_type_name(data_type)
docs: Returns a JSDoc annotation for a data type.
      May contain a union of enumerated subtypes.