qsort (<) (x:xs) = qsort (<) ys ++ [x] ++ qsort (<) zs
  where Pair ys zs = partition (< x) xs
qsort (<) (x:xs) = qsort (<) ys ++ [x] ++ qsort (<) zs
  where Pair ys zs = partition (< x) xs
qsort (<) (x:xs) = qsort (<) ys ++ [x] ++ qsort (<) zs
  where Pair ys zs = partition (< x) xs