Haskell substituir elemento na lista

Existe alguma função interna para substituir um elemento em um determinado índice no haskell?

Exemplo:

replaceAtIndex(2,"foo",["bar","bar","bar"])

Deveria dar:

["bar", "bar", "foo"]

Eu sei que eu poderia fazer minha própria função, mas parece que deveria ser embutido.