Обратите внимание, что у вас все еще есть проблемы с «Неисчерпывающим сопоставлением с образцом», если списки не имеют одинаковый размер! Вот решение, которое работает для всех случаев:
addList [] _ = []
addList _ [] = []
addList (a:as) (b:bs) = (a+b) : addList as bs
не два шаблона, где любой список пуст!
И еще одно последнее замечание: писать многострочные определения в GHCi очень сложно - запишите их в каком-либо редакторе в файл .hs и используйте :load MyFile.hs
и :reload
внутри GHCi