code: def dataclass(**kwargs):
      def make_dataclass(cls):
          try:
              annotations = cls.__dict__["__annotations__"]
          except KeyError:
              cls = dataclasses.dataclass(**kwargs)(cls)
          else:
              new_annotations = dict(annotations)
              for name, annotation in annotations.items():
                  is_abstract, _ = _process_annotation(annotation)
                  if is_abstract:
                      new_annotations.pop(name)
              cls.__annotations__ = new_annotations
              cls = dataclasses.dataclass(**kwargs)(cls)
              cls.__annotations__ = annotations
          return cls
  
      return make_dataclass
  
file_path: equinox/equinox/_better_abstract.py
imports: import abc
  import dataclasses
  from typing import Annotated, ClassVar, Generic, get_args, get_origin, TYPE_CHECKING, TypeVar
  from typing_extensions import dataclass_transform, TypeAlias
label_desc: Use image node_id 2 for calling a global function with example usage: dataclass() and returns: make_dataclass, cls