Order partitions ascending rather than descending.
Remove redundant $ operator.
Make Partition an IntMultiSet rather than [Int].