[Haskell-beginners] Heterogenous list implemented with GADT