[Haskell-cafe] Modelling Java Interfaces with Existential data types