possível fazer uma seleção rápida de uma lista com apenas uma passage

Estou aprendendo haskell e a definição de função que vejo é:

quickSort (x : xs) = (quickSort less) ++ (x : equal) ++ (quickSort more)
                 where less = filter (< x) xs
                       equal = filter (== x) xs
                       more = filter (> x) xs

possível escrevê-lo com apenas um percurso da lista, em vez de

questionAnswers(3)

yourAnswerToTheQuestion