Not sure this answers the question, but maybe fieldtypes
does what you’re looking for:
julia> nt = (a = 1.0, b = 1, c = "A")
(a = 1.0, b = 1, c = "A")
julia> T = typeof(nt)
@NamedTuple{a::Float64, b::Int64, c::String}
julia> fieldtypes(T)
(Float64, Int64, String)