local A=script.Parent local Z=require(A.copy)local T=A.Parent local j=require(T.t)local o=j.tuple(j.table,j.optional(j.callback))local function W(A,T)assert(o(A,T))local j=Z(A)table.sort(j,T)return j end return W
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