>>> MISSING
<class '__main__.MISSING'>
I think a repr of just "MISSING", or maybe "dataclasses.MISSING" would be better.
I literally just went down this road--for a while there was a special sentinel value for the eval_str parameter to inspect.get_annotations(). The repr I went with was "<id>", e.g "<MISSING>". It depends on how seriously you take the idea that eval(repr(x)) == x. Certainly most objects don't actually support that, e.g., uh, object(), a type which I understand is available in most Python implementations.
Cheers,
/arry