[Haskell-cafe] extensible effects and open unions