Should try to share as much as possible the implementation with the `dataclass` extension type.
Should try to share as much as possible the implementation with the
dataclassextension type.