[Haskell-cafe] Client-extensible heterogeneous types