NamedMap
type NamedMap<TDescriptor extends readonly NamedModuleDescriptor[]> = { [S in Extract<TDescriptor[number], string>]: Refkey;} & { [O in Extract<TDescriptor[number], { name: string; }> as O["name"]]: Refkey & { static: O extends ({ staticMembers: infer SM extends NamedModuleDescriptor[]; }) ? NamedMap<SM> : {}; instance: O extends ({ instanceMembers: infer IM extends NamedModuleDescriptor[]; }) ? NamedMap<IM> : {}; };};