[Haskell-cafe] Type-level programming [The container problem]