Work in Progress

`local _equal = function` won't work because within the function, it calls `_equal` again, and that results in an err `attempt to call global '_equal' (a nil value)`. Defining `_equal` before assigning a function to it is a workaround.

I didn't know the second option earlier, but I just tested and it actually works!