So how can I detect the asset's type if Enum.AccessoryType is always unknown?

local counter = 1

wait(3)
childrenofyes = game.Players:GetCharacterAppearanceAsync(game.Players.LocalPlayer.UserId):GetChildren()
for i, asset in pairs(childrenofyes) do
	counter = i
	local assetsInfos = game.Players:GetCharacterAppearanceInfoAsync(game.Players.LocalPlayer.UserId).assets
	if counter > 0 and counter <= #assetsInfos then
		print("ran")
		for i = counter, #assetsInfos do
			local assetInfo = assetsInfos[i]	
			local function hasProperty(object, prop)
				local t = object[prop] 
			end

			for i, child in pairs(childrenofyes) do
				local success = pcall(function() hasProperty(child, "AccessoryType") end)
				if success then						
					print(child.AccessoryType)
					child.TextureID = "0"
					child.Material = "Neon"
				end
			end
		end
	else 
		print("done")
		return
	end
end