I tried forall a,b. Binary' a b and the what was I thinking comment was for that.

And I absulutely agree with you on the nesting part. That's what came to my mind at the first glance for obvious reasons.

On 24 March 2010 20:27, Bas van Dijk <v.dijk.bas@gmail.com> wrote:
On Wed, Mar 24, 2010 at 6:31 PM, Ozgur Akgun <ozgurakgun@gmail.com> wrote:
> What was I thinking?

A sensible thought if you asked me.

It's certainly a surprise to me that this isn't allowed. Because in
any other context binders, like lambdas and foralls, may be freely
nested. For example:

{-# LANGUAGE RankNTypes #-}
swap :: forall a. forall b. a -> b -> (a, b)
swap = \x -> \y -> (x,y)

{-# LANGUAGE PolymorphicComponents #-}
data Foo = Foo (forall a. forall b. a)

regards,

Bas



--
Ozgur Akgun