[Haskell-beginners] partition a list in all possible ways