[Haskell-cafe] how to make this work recursive ?