local I=script.Parent local t=require(I.copy)local c=I.Parent local Z=require(c.t)local s=Z.tuple(Z.table,Z.optional(Z.callback))local function J(I,c)assert(s(I,c))local Z=t(I)table.sort(Z,c)return Z end return J
local List = script.Parent
local copy = require(List.copy)

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

local validate = t.tuple(t.table, t.optional(t.callback))

local function sort(list, comparator)
	assert(validate(list, comparator))
	
	local new = copy(list)

	table.sort(new, comparator)

	return new
end

return sort