Ошибка «Нет экземпляра для (Num [t])» в функции Коллатца

Я новичок в Haskell, и программирование в целом. Я пытаюсь определить функцию, которая генерирует последовательность чисел Коллатца изn, Я имею:

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)

Когда я запускаю это в GHCi, я получаю сообщение об ошибке:

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

Я не знаю, что это значит. Проблема, кажется, добавляет «1» в список. Эта проблема возникает из-за

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

генерирует бесконечную последовательность «1» после правильной последовательности Коллатца; тем не мение,

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

генерирует все числа Коллатца изn кроме "1". Что я делаю неправильно?

Ответы на вопрос(3)

Ваш ответ на вопрос