Error "Sin instancia para (Num [t])" en la función Collatz

Soy nuevo en Haskell, y programación en general. Estoy tratando de definir una función que genere la secuencia de números de Collatz den. Yo tengo:

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)

Cuando ejecuto esto en GHCi, aparece el error:

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

No sé lo que esto significa. El problema parece estar agregando "1" a la lista. Este problema surge porque

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

genera una secuencia infinita de "1" siguiendo la secuencia correcta de Collatz; sin embargo,

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

genera todos los números de Collatz desden excepto "1". ¿Qué estoy haciendo mal?

Respuestas a la pregunta(3)

Su respuesta a la pregunta