Yet another merge sort for my brain to fry upon