Agree with the first part. They even gave lots of bogus examples so people were copying and pasting things that were not best practices. DID got messed up even worse, but was not designed to do that, I designed it to make a uniform interoeprable interface for the bitcoin block chain, but it got co-opted. But the lack of interop doesnt come from named types. There is lots of other technical debt, bad examples, and deviation from the standards. The named types are probably the one useful thing in there. ActivityPub uses named types and its growing faster than nostr. I do like the nostr number system, because its simple and works. But if you had an OO system and every class was a number, it's going to struggle to scale at some point. Numbers work well because nostr is early and small. I was actually thinking of rewriting the whole of DID and VCs, taking the good bits for nostr. It might happen one day, but magic numbers vs types is not really a deal breaker. Plenty of other things are tho. VC/DID is frankly a mess, the data structure is a set, no arrays, no canonicalization, the examples are wrong, the context breaks everything, the document is not defined, no one knows how to make a vocab excapt dave and manu. Even they cut corners. The list goes on and on.