Random shuffle implementation for Haskell