Por que reclama Haskell analisar erro na entrada '|' nessa função?

Eu deveria escrever uma pequena função no Haskell, que deve apagar elementos, que estão duas vezes na lista. Infelizmente, Haskell reclama "erro de análise na entrada` | ' " Alguém poderia me ajudar com isso?

makeSets=mSet[]s
         where 
            mSet stack []=stack
            mSet stack (x:xs)
                             |contains stack x=mSetstack xs
                             | otherwise =mSet (x:stack) xs
                                          where 
                                                contains [] thing=False
                                                contains (x:xs)thing
                                                                     | x==thing=True
                                                                     |otherwise=contains xs thing

questionAnswers(1)

yourAnswerToTheQuestion