Hi Eric,
I can't follow your specification. Maybe this is because the key phrase "dataclass type semantics" is left unspecified? You're showing an example using "@create_model" but there is nothing in the example telling me what effect that has on the class at runtime, and the type given for create_model() in the example just says that it takes a class and returns a function from T -> T. What role does this function play? I presume the @dataclass_transform() decorator returns a class decorator -- but how does the signature of create_model() enter into that class decorator's type? Also, do the three dots stand for a literal ellipsis (like in method stubs) or is there something I would have to type in there to make this work?
It might be helpful to show a more fully fleshed-out example, starting with complete code that does something simple but data-classy at runtime, and then showing how to use dataclass_transform() to make static checkers understand those semantics?
Let's decorate a cake instead,
--Guido