:ClearAllChildren(Instance Type)

Often, I when clearing specific objects I use :GetChildren() and cycle through all the objects returned to remove a specific object type. I think it would be really useful to add an optional argument to set an instance type. So if you said Head:ClearAllChildren(“Sound”) it would remove all sound in the head.

Supports for you!

Edit: Also, would it be recursive or not?
Perhaps :ClearAllChildren( [Instance Type], [boolean isRecursive] )?

i thought about something similar with GetChildren, but thought that might be bad practice

ClearAllChildren(model,type,recursive)
    for _,i in pairs (model:GetChildren()) do
        if i:IsA(type) then
            i:destroy()
        elseif recursive then
            ClearAllChildren(i,type,recursive)
        end
    end
end

@Space: I have a recurse function saved to my desktop because I use it so much :DDD

function recurse(root,callback)
 for i,v in pairs(root:GetChildren()) do
  callback(i,v)
  
  if #v:GetChildren() > 0 then
   recurse(v,callback)
  end
 end
end
recurse(workspace, function(i,v)  
if v.Name == "KILLME" then
v:Destroy()
end
end)