local f=script.Parent local u=require(f.copy)local T=f.Parent local J=require(T.t)local i=J.tuple(J.table,J.optional(J.callback))local function W(f,T)assert(i(f,T))local J=u(f)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