| Ah yes, silly me. What I had in mind, I suppose, was | something more along the lines of: | | foo :: Double -> (exists q . Foo q => q)
Correct. Currently you can only express this by wrapping the existential in a constructor: data R = forall q. Foo q => MkR q foo :: Double -> R Mark Shields and I wrote a paper about doing more fully fledged existentials, but it's quite a significant chunk of work to implement. http://research.microsoft.com/~simonpj/Papers/first-class-modules Simon _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell