[Haskell-cafe] Is it possible to represent such polymorphism?