Complicating factor: Datasworn's constants assume that an embedded type dictionary uses the same key as the primary type dictionary in the RulesPackage object. That'd mean that NPC variants live in Npc#npcs rather than Npc#variants, which I don't care for.
It's possible to change that, but would mean adding some additional constants and checks to e.g. IdParser