[Haskell] Queues / Lists with unbound tails