and I would like to sort based on Node.t, how should I tackle it, preferably without resorting to C libraries?
Convert the nodes into an D array, sort the array with nodes.sort!"a.x < b.x" and then iterate the array and repair the next/prev pointers.