>>589
ilist というライブラリに Data.List.Index.setAt :: Int -> a -> [a] -> [a] という
質問そのものの関数があるよ。