Arbitrary strings as types, while they might seem like a good idea, are usually not a great idea since it harms interop (if you don't know the full possibility of types, the liklihood that you end up with a failure in the ecosystem due to an unknown type is high).
Try to re-use the type mechanism provided by the serialization languages instead of creating an arbitrary string-based one.
The
type
mechanism used in W3C VCs provide something similar to theidentifierType
and similar properties in this section (and others):https://identity.foundation/credential-schemas/#identifiers-object
Arbitrary strings as types, while they might seem like a good idea, are usually not a great idea since it harms interop (if you don't know the full possibility of types, the liklihood that you end up with a failure in the ecosystem due to an unknown type is high).
Try to re-use the type mechanism provided by the serialization languages instead of creating an arbitrary string-based one.