added swap to quickseq
add partitionWith
partition uses partitionWith
sortWith' and sortCountWith work