[Haskell-beginners] containers and extensibility, typeclasses vs. multiple value constructors