こういう関数をHaskellで書くとしたら
どう書くのがベターでしょうか?

# Rubyですが
def hoge(ary)
ary.each_index do |i|
j = rand(i+1)
ary[i], ary[j] = ary[j], ary[i]
end
end