How is this function passing only second/third parameters?

Im looking over this code and its confusing me:

	function ObjShadow.Debris(Type45, Type46)
		if not ObjShadow then
			return
		end
		if not ObjShadow.Parent then
			return
		end;
		task.spawn(function()
			wait(Type46)
			if ObjShadow then
				ObjShadow:Remove()
			end
		end)
	end

because, while it works, it is only called with a single parameter

Debris(0.2)

There Are several Examples of this

Yes I know about setting default parameters, but there are none anywhere in the script

I don’t know what the Type45 parameter is for, but if you call wait(nil), It won’t error.

I don’t think it is actually passing the Type46 parameter as Type45. The function would work with both parameters as nil.

Could you send the whole script?

It matters if it’s called like obj.Debris() or obj:Debris(). Read up on table-calling in the manual to see how it works.