Checking if a name is an alias

I’m looking for a more external/generic way to achieve

sourcetypename(type::UnionAll) = sourcetypename(type.body)
sourcetypename(type::DataType) = type.name.name
isnotalias(type) = string(type) == string(sourcetypename(type))
isnotalias(type) = string(type) == string(Base.typename(type).name)