[Haskell-cafe] Trick to have existential type work in this case?