[Haskell-beginners] Recursion with a self-defined type