>>589
nとaと(x:xs)受け取ってnが0になったらxの代わりにaをcons(:)すればいい。

setAt _ _ [] = []
setAt 0 a (_:xs) = a:xs
setAt n a (x;cs) = x:setAt (n - 1) a xs