Erro “Nenhuma instância para (Num [t])” na função Collatz

Eu sou novo em Haskell, e programação em geral. Estou tentando definir uma função que gera a sequência de números Collatz den. Eu tenho:

collatz n = (collatz' n) : 1
   where collatz' n = (takeWhile (>1) (collatz'' n))
          where collatz'' n = n : collatz'' (collatz''' n)
                 where collatz''' 1 = 1
                       collatz''' n = if (even n) then (div n 2) else ((3*2)+1)

Quando executo isso no GHCi, recebo o erro:

No instance for (Num [t])
  arising from the literal `2' at <interactive>:1:7
Possible fix: add an instance declaration for (Num [t])

Não sei o que isso significa. O problema parece estar anexando "1" à lista. Esse problema surge porque

collatz' n = (takeWhile (>0) (collatz'' n))

gera uma sequência infinita de "1" s após a sequência correta de Collatz; Contudo,

collatz' n = (takeWhile (>1) (collatz'' n))

gera todos os números Collatz den exceto "1". O que estou fazendo errado?

questionAnswers(3)

yourAnswerToTheQuestion