That's simply due to poor implementation. Not due to the standard. The named types are part of a set of standards, not defined in VC. Frankly, most of the VC folks didnt read the specs, and that was most of the problem. Take for example schema.org which uses strings for types. It uses the same standards and achieves many orders of magnitude more interop then nostr. That's just one project that uses the standards. But it's all good, nostr can use both numbers and strings for types in different contexts, via websockets, and the web. For example: https://w3id.org/nostr