[Haskell-cafe] Design of an extensible system