[Haskell-cafe] double existential type