local I=script.Parent local t=I.Parent local c=require(t.t)local Z=c.tuple(c.table,c.optional(c.intersection(c.integer,c.numberMin(0))))local function s(I,t)assert(Z(I,t))local c=#I t=t or 1 assert(t>0 and t<=c+1,string.format("\105\110\100\101\120 \037\100 \111\117\116 \111\102 \098\111\117\110\100\115 \111\102 \108\105\115\116 \111\102 \108\101\110\103\116\104 \037\100",t,c))local s={}for t=1,#I-t,1 do s[t]=I[t]end return s end return s
local List = script.Parent

local Llama = List.Parent
local t = require(Llama.t)

local validate = t.tuple(t.table, t.optional(t.intersection(t.integer, t.numberMin(0))))

local function pop(list, numPops)
	assert(validate(list, numPops))

	local len = #list

	numPops = numPops or 1

	assert(numPops > 0 and numPops <= len + 1, string.format("index %d out of bounds of list of length %d", numPops, len))

	local new = {}

	for i = 1, #list - numPops do
		new[i] = list[i]
	end

	return new
end

return pop