I’m glad it works! Though I just realized that the function I gave you gives you Symbols, not the types themselves. If you want the types themselves, define make_nt as:
@inline make_nt(T) = NamedTuple{(symbolize(T),)}((T,))
And then in get_unique_types:
return values(ntc)