Dá para otimizar no Haskell usando lazy evaluation sem precisar definir um caso de saída. :D
Wellington Geek
11
Muito obrigado pela resposta! a idéia era mostrar o caso mais simples, devido ao foco do post ser a galera mais iniciante, mas agradeço demais pelo complemento.