[Haskell-cafe] Variants of a recursive data structure